部门增加管理角色,企业逻辑调整

main
zhaokai 2025-11-10 16:33:11 +08:00
parent b0fdf323b3
commit 9b5e148211
60 changed files with 1111 additions and 90 deletions

View File

@ -2,6 +2,6 @@
<project version="4">
<component name="com.codeverse.userSettings.MarscodeWorkspaceAppSettingsState">
<option name="ckgOperationStatus" value="SUCCESS" />
<option name="progress" value="0.8875" />
<option name="progress" value="1.0" />
</component>
</project>

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,82 @@
package com.zcloud.basic.info.web;
import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.Response;
import com.alibaba.cola.dto.SingleResponse;
import com.jjb.saas.framework.auth.model.SSOUser;
import com.jjb.saas.framework.auth.utils.AuthContext;
import com.zcloud.basic.info.api.DepartmentSuperviseServiceI;
import com.zcloud.basic.info.dto.DepartmentSuperviseAddCmd;
import com.zcloud.basic.info.dto.DepartmentSupervisePageQry;
import com.zcloud.basic.info.dto.DepartmentSuperviseUpdateCmd;
import com.zcloud.basic.info.dto.clientobject.DepartmentSuperviseCO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
/**
* web-adapter
*
* @Author zhaokai
* @Date 2025-11-10 14:13:45
*/
@Api(tags = "部门监管权限表")
@RequestMapping("/${application.gateway}/departmentSupervise")
@RestController
@AllArgsConstructor
public class DepartmentSuperviseController {
private final DepartmentSuperviseServiceI departmentSuperviseService;
@ApiOperation("新增")
@PostMapping("/save")
public SingleResponse<DepartmentSuperviseCO> add(@Validated @RequestBody DepartmentSuperviseAddCmd cmd) {
SSOUser ssoUser = AuthContext.getCurrentUser();
return departmentSuperviseService.add(cmd);
}
@ApiOperation("分页")
@PostMapping("/list")
public PageResponse<DepartmentSuperviseCO> page(@RequestBody DepartmentSupervisePageQry qry) {
return departmentSuperviseService.listPage(qry);
}
@ApiOperation("所有数据")
@GetMapping("/listAll")
public MultiResponse<DepartmentSuperviseCO> listAll() {
return MultiResponse.of(new ArrayList<DepartmentSuperviseCO>());
}
@ApiOperation("详情")
@GetMapping("/{id}")
public SingleResponse<DepartmentSuperviseCO> getInfoById(@PathVariable("id") Long id) {
return SingleResponse.of(new DepartmentSuperviseCO());
}
@ApiOperation("删除")
@DeleteMapping("/{id}")
public Response remove(@PathVariable("id") Long id) {
departmentSuperviseService.remove(id);
return SingleResponse.buildSuccess();
}
@ApiOperation("删除多个")
@DeleteMapping("/ids")
public Response removeBatch(@RequestParam Long[] ids) {
departmentSuperviseService.removeBatch(ids);
return SingleResponse.buildSuccess();
}
@ApiOperation("修改")
@PutMapping("/edit")
public SingleResponse edit(@Validated @RequestBody DepartmentSuperviseUpdateCmd departmentSuperviseUpdateCmd) {
departmentSuperviseService.edit(departmentSuperviseUpdateCmd);
return SingleResponse.buildSuccess();
}
}

View File

@ -1,19 +1,34 @@
package com.zcloud.basic.info.command;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.cola.dto.Response;
import com.alibaba.cola.exception.BizException;
import com.jjb.saas.system.client.tenant.facade.TenantFacade;
import com.jjb.saas.system.client.tenant.request.OtaTenantAddCmd;
import com.zcloud.basic.info.domain.enums.CorpTypeEnum;
import com.zcloud.basic.info.domain.gateway.CorpInfoGateway;
import com.zcloud.basic.info.domain.gateway.UserGateway;
import com.zcloud.basic.info.domain.model.CorpInfoE;
import com.zcloud.basic.info.domain.model.DepartmentE;
import com.zcloud.basic.info.domain.model.UserE;
import com.zcloud.basic.info.domain.model.UserEmploymentLogE;
import com.zcloud.basic.info.dto.CorpInfoAddCmd;
import com.zcloud.basic.info.dto.DepartmentAddCmd;
import com.zcloud.basic.info.dto.UserAddCmd;
import com.zcloud.basic.info.persistence.repository.DepartmentRepository;
import com.zcloud.basic.info.persistence.repository.UserEmploymentLogRepository;
import com.zcloud.basic.info.persistence.repository.UserRepository;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import java.util.List;
import java.util.Map;
/**
@ -27,14 +42,15 @@ import org.springframework.transaction.annotation.Transactional;
@Slf4j
public class CorpInfoAddExe {
private final CorpInfoGateway corpInfoGateway;
@DubboReference
private TenantFacade tenantFacade;
private final UserRepository userRepository;
private final DepartmentRepository departmentRepository;
private final UserEmploymentLogRepository userEmploymentLogRepository;
@Transactional(rollbackFor = Exception.class)
public Long execute(CorpInfoAddCmd cmd) {
CorpInfoE examTypeE = new CorpInfoE();
BeanUtils.copyProperties(cmd, examTypeE);
Long corpInfoId ;
try {
corpInfoId = corpInfoGateway.add(examTypeE);
@ -44,15 +60,19 @@ public class CorpInfoAddExe {
if (corpInfoId == null) {
throw new BizException("保存失败");
}
OtaTenantAddCmd otaTenantAddCmd = new OtaTenantAddCmd();
otaTenantAddCmd.setAccount(examTypeE.getCorpName());
otaTenantAddCmd.setTenantId(corpInfoId);
otaTenantAddCmd.setTenantName(examTypeE.getCorpName());
otaTenantAddCmd.setPassword("Aa@123456789");
log.info("CorpInfoXgfAddExe,新增企业调用GBS请求:{}",otaTenantAddCmd.toString());
//TODO 企业推送gbs报错解密失败
// Response response = tenantFacade.addOtaTenant(otaTenantAddCmd);
//log.info("CorpInfoXgfAddExe,新增企业调用GBS返回:{}",response.toString());
DepartmentE departmentE = new DepartmentE();
departmentE.initCorpInfo(corpInfoId,cmd.getCorpName());
Long departmentId = departmentRepository.addCorpDepartment(departmentE);
UserE userE = new UserE();
userE.initCorpInfo(examTypeE,departmentId);
userRepository.addCorpUser(examTypeE);
UserEmploymentLogE userEmploymentLogE = new UserEmploymentLogE();
BeanUtils.copyProperties(userE, userEmploymentLogE);
userEmploymentLogE.initAdd(userEmploymentLogE, cmd.getCorpName(), userE.getId());
userEmploymentLogRepository.addCorpUserEmploymentLog(userEmploymentLogE);
return corpInfoId;
}
}

View File

@ -1,5 +1,6 @@
package com.zcloud.basic.info.command;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.cola.dto.Response;
import com.alibaba.cola.exception.BizException;
import com.jjb.saas.framework.auth.utils.AuthContext;
@ -8,8 +9,12 @@ import com.jjb.saas.system.client.dept.request.FacadeAddDeptCmd;
import com.jjb.saas.system.client.user.facade.UserFacade;
import com.jjb.saas.system.client.user.request.FacadeUserAddCmd;
import com.jjb.saas.system.enums.org.DeptTypeEnum;
import com.zcloud.basic.info.command.convertor.DepartmentSuperviseCoConvertor;
import com.zcloud.basic.info.domain.enums.CommonFlagEnum;
import com.zcloud.basic.info.domain.gateway.DepartmentGateway;
import com.zcloud.basic.info.domain.gateway.DepartmentSuperviseGateway;
import com.zcloud.basic.info.domain.model.DepartmentE;
import com.zcloud.basic.info.domain.model.DepartmentSuperviseE;
import com.zcloud.basic.info.dto.DepartmentAddCmd;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@ -18,6 +23,9 @@ import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
/**
* web-app
@ -31,19 +39,14 @@ import org.springframework.transaction.annotation.Transactional;
public class DepartmentAddExe {
private final DepartmentGateway departmentGateway;
@DubboReference
private DeptFacade deptFacade;
private final DepartmentSuperviseGateway departmentSuperviseGateway;
private final DepartmentSuperviseCoConvertor departmentSuperviseCoConvertor;
@Transactional(rollbackFor = Exception.class)
public boolean execute(DepartmentAddCmd cmd) {
public Long execute(DepartmentAddCmd cmd) {
DepartmentE examTypeE = new DepartmentE();
//TODO 父id的值待定
if(cmd.getParentId()==null){
cmd.setParentId(AuthContext.getTenantId());
}
if(cmd.getCorpinfoId() == null){
cmd.setCorpinfoId(AuthContext.getTenantId());
}
BeanUtils.copyProperties(cmd, examTypeE);
Long id = null;
try {
@ -55,17 +58,11 @@ public class DepartmentAddExe {
if (id ==null) {
throw new BizException("保存失败");
}
// 需要调用GBS新增
FacadeAddDeptCmd deptCmd = new FacadeAddDeptCmd();
deptCmd.setLinkId(id);
deptCmd.setLinkName(examTypeE.getName());
deptCmd.setParentId(examTypeE.getParentId());
deptCmd.setDeptTypeEnum(DeptTypeEnum.DEPARTMENT.getValue());
//TODO gbs部门表 sys_dept tenant_idparent_idsadd_type_enum存储错误导致gbs页面看不到参数还没有待定
Response response = deptFacade.addDept(deptCmd);
log.info("DepartmentAddExe,新增部门调用GBS返回"+response.toString());
return true;
if(CollUtil.isNotEmpty(cmd.getDepartmentIdsList())&& CommonFlagEnum.YES.getCode().equals(cmd.getSuperviseFlag())){
List<DepartmentSuperviseE> departmentSuperviseEList =examTypeE.initAdd(cmd.getDepartmentIdsList(), id);
departmentSuperviseGateway.addbatch(departmentSuperviseEList);
}
return id;
}
}

View File

@ -6,6 +6,7 @@ import com.alibaba.cola.exception.BizException;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jjb.saas.system.client.dept.facade.DeptFacade;
import com.zcloud.basic.info.domain.gateway.DepartmentGateway;
import com.zcloud.basic.info.domain.gateway.DepartmentSuperviseGateway;
import com.zcloud.basic.info.dto.clientobject.DepartmentCO;
import com.zcloud.basic.info.persistence.dataobject.DepartmentDO;
import com.zcloud.basic.info.persistence.repository.DepartmentRepository;
@ -38,6 +39,7 @@ public class DepartmentRemoveExe {
private final DepartmentGateway departmentGateway;
private final DepartmentRepository departmentRepository;
private final UserRepository userRepository;
private final DepartmentSuperviseGateway departmentSuperviseGateway;
@DubboReference
private DeptFacade deptFacade;
@Autowired
@ -65,6 +67,8 @@ public class DepartmentRemoveExe {
if (!res) {
throw new BizException("删除失败");
}
departmentSuperviseGateway.deletedDepartmentBySuperviseId(id);
deptFacade.deleteById( id);
//删除redis数据
zcloudRedisUtil.del(Const.REDIS_DEPT_PREFIX+id);
@ -90,6 +94,9 @@ public class DepartmentRemoveExe {
deptFacade.deleteById( id);
zcloudRedisUtil.del(Const.REDIS_DEPT_PREFIX + id);
}
//ids转成成list
departmentSuperviseGateway.deletedDepartmentBySuperviseIdList(Arrays.asList(ids));
return true;
}
}

View File

@ -0,0 +1,40 @@
package com.zcloud.basic.info.command;
import com.alibaba.cola.exception.BizException;
import com.zcloud.basic.info.domain.gateway.DepartmentSuperviseGateway;
import com.zcloud.basic.info.domain.model.DepartmentSuperviseE;
import com.zcloud.basic.info.dto.DepartmentSuperviseAddCmd;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
* web-app
*
* @Author zhaokai
* @Date 2025-11-10 14:13:45
*/
@Component
@AllArgsConstructor
public class DepartmentSuperviseAddExe {
private final DepartmentSuperviseGateway departmentSuperviseGateway;
@Transactional(rollbackFor = Exception.class)
public boolean execute(DepartmentSuperviseAddCmd cmd) {
DepartmentSuperviseE departmentSuperviseE = new DepartmentSuperviseE();
BeanUtils.copyProperties(cmd, departmentSuperviseE);
boolean res = false;
try {
res = departmentSuperviseGateway.add(departmentSuperviseE);
} catch (Exception e) {
throw new RuntimeException(e);
}
if (!res) {
throw new BizException("保存失败");
}
return true;
}
}

View File

@ -0,0 +1,39 @@
package com.zcloud.basic.info.command;
import com.alibaba.cola.exception.BizException;
import com.zcloud.basic.info.domain.gateway.DepartmentSuperviseGateway;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
* web-app
*
* @Author zhaokai
* @Date 2025-11-10 14:13:46
*/
@Component
@AllArgsConstructor
public class DepartmentSuperviseRemoveExe {
private final DepartmentSuperviseGateway departmentSuperviseGateway;
@Transactional(rollbackFor = Exception.class)
public boolean execute(Long id) {
boolean res = departmentSuperviseGateway.deletedDepartmentSuperviseById(id);
if (!res) {
throw new BizException("删除失败");
}
return true;
}
@Transactional(rollbackFor = Exception.class)
public boolean execute(Long[] ids) {
boolean res = departmentSuperviseGateway.deletedDepartmentSuperviseByIds(ids);
if (!res) {
throw new BizException("删除失败");
}
return true;
}
}

View File

@ -0,0 +1,34 @@
package com.zcloud.basic.info.command;
import com.alibaba.cola.exception.BizException;
import com.zcloud.basic.info.domain.gateway.DepartmentSuperviseGateway;
import com.zcloud.basic.info.domain.model.DepartmentSuperviseE;
import com.zcloud.basic.info.dto.DepartmentSuperviseUpdateCmd;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
* web-app
*
* @Author zhaokai
* @Date 2025-11-10 14:13:46
*/
@Component
@AllArgsConstructor
public class DepartmentSuperviseUpdateExe {
private final DepartmentSuperviseGateway departmentSuperviseGateway;
@Transactional(rollbackFor = Exception.class)
public void execute(DepartmentSuperviseUpdateCmd departmentSuperviseUpdateCmd) {
DepartmentSuperviseE departmentSuperviseE = new DepartmentSuperviseE();
BeanUtils.copyProperties(departmentSuperviseUpdateCmd, departmentSuperviseE);
boolean res = departmentSuperviseGateway.update(departmentSuperviseE);
if (!res) {
throw new BizException("修改失败");
}
}
}

View File

@ -1,10 +1,14 @@
package com.zcloud.basic.info.command;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.cola.exception.BizException;
import com.jjb.saas.system.client.dept.facade.DeptFacade;
import com.jjb.saas.system.client.dept.request.FacadeUpdateDeptCmd;
import com.zcloud.basic.info.domain.enums.CommonFlagEnum;
import com.zcloud.basic.info.domain.gateway.DepartmentGateway;
import com.zcloud.basic.info.domain.gateway.DepartmentSuperviseGateway;
import com.zcloud.basic.info.domain.model.DepartmentE;
import com.zcloud.basic.info.domain.model.DepartmentSuperviseE;
import com.zcloud.basic.info.domain.model.FacadeDepartmentE;
import com.zcloud.basic.info.dto.DepartmentUpdateCmd;
import com.zcloud.basic.info.persistence.dataobject.DepartmentDO;
@ -19,6 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
@ -34,6 +39,7 @@ import java.util.Map;
public class DepartmentUpdateExe {
private final DepartmentGateway departmentGateway;
private final DepartmentRepository departmentRepository;
private final DepartmentSuperviseGateway departmentSuperviseGateway;
@DubboReference
private DeptFacade deptFacade;
@Autowired
@ -51,6 +57,12 @@ public class DepartmentUpdateExe {
if (!res) {
throw new BizException("修改失败");
}
departmentSuperviseGateway.deletedDepartmentBySuperviseId(departmentUpdateCmd.getId());
if(CollUtil.isNotEmpty(departmentUpdateCmd.getDepartmentIdsList())&& CommonFlagEnum.YES.getCode().equals(departmentUpdateCmd.getSuperviseFlag())){
List<DepartmentSuperviseE> departmentSuperviseEList =departmentE.initAdd(departmentUpdateCmd.getDepartmentIdsList(), departmentUpdateCmd.getId());
departmentSuperviseGateway.addbatch(departmentSuperviseEList);
}
FacadeDepartmentE deptE =FacadeDepartmentE.initUpdate(departmentE);

View File

@ -15,6 +15,7 @@ import com.zcloud.basic.info.domain.model.DepartmentE;
import com.zcloud.basic.info.domain.model.PostE;
import com.zcloud.basic.info.domain.model.UserE;
import com.zcloud.basic.info.domain.model.UserEmploymentLogE;
import com.zcloud.basic.info.dto.CorpInfoAddCmd;
import com.zcloud.basic.info.dto.UserAddCmd;
import com.zcloud.basic.info.dto.UserXgfAddCmd;
import com.zcloud.basic.info.persistence.dataobject.*;
@ -148,5 +149,8 @@ public class UserAddExe {
// todo 批量插入用户
}
public void addCorpInfo(CorpInfoAddCmd cmd) {
}
}

View File

@ -0,0 +1,26 @@
package com.zcloud.basic.info.command.convertor;
import com.zcloud.basic.info.domain.model.DepartmentSuperviseE;
import com.zcloud.basic.info.dto.clientobject.DepartmentSuperviseCO;
import com.zcloud.basic.info.persistence.dataobject.DepartmentSuperviseDO;
import org.mapstruct.Mapper;
import java.util.List;
/**
* web-app
*
* @Author zhaokai
* @Date 2025-11-10 14:13:45
*/
@Mapper(componentModel = "spring")
public interface DepartmentSuperviseCoConvertor {
/**
* @param departmentSuperviseDOs
* @return
*/
List<DepartmentSuperviseCO> converDOsToCOs(List<DepartmentSuperviseDO> departmentSuperviseDOs);
}

View File

@ -5,18 +5,16 @@ import com.alibaba.cola.dto.PageResponse;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jjb.saas.framework.auth.utils.AuthContext;
import com.zcloud.basic.info.command.convertor.DepartmentCoConvertor;
import com.zcloud.basic.info.domain.enums.CommonFlagEnum;
import com.zcloud.basic.info.domain.model.DepartmentE;
import com.zcloud.basic.info.dto.CorpDepartmentQry;
import com.zcloud.basic.info.dto.DepartmentPageQry;
import com.zcloud.basic.info.dto.DepartmentQry;
import com.zcloud.basic.info.dto.DepartmentTreeQry;
import com.zcloud.basic.info.dto.clientobject.CorpDepartmentCO;
import com.zcloud.basic.info.dto.clientobject.DepartmentCO;
import com.zcloud.basic.info.dto.clientobject.DepartmentInfoCO;
import com.zcloud.basic.info.dto.clientobject.DepartmentTreeInfoCO;
import com.zcloud.basic.info.dto.*;
import com.zcloud.basic.info.dto.clientobject.*;
import com.zcloud.basic.info.persistence.dataobject.DepartmentDO;
import com.zcloud.basic.info.persistence.dataobject.DepartmentSuperviseDO;
import com.zcloud.basic.info.persistence.dataobject.PostDO;
import com.zcloud.basic.info.persistence.dataobject.PostDepartmentDO;
import com.zcloud.basic.info.persistence.repository.DepartmentRepository;
import com.zcloud.basic.info.persistence.repository.DepartmentSuperviseRepository;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.gbscommon.utils.Tools;
import lombok.AllArgsConstructor;
@ -39,6 +37,7 @@ import java.util.stream.Collectors;
public class DepartmentQueryExe {
private final DepartmentRepository departmentRepository;
private final DepartmentCoConvertor departmentCoConvertor;
private final DepartmentSuperviseRepository departmentSuperviseRepository;
/**
*
@ -67,7 +66,7 @@ public class DepartmentQueryExe {
}
List<DepartmentTreeInfoCO> examCenterCOS = departmentCoConvertor.converDOsToInfoCOs(pageResponse);
//GBS部门根节点父部门是tenantId
return Tools.buildEntityTree(examCenterCOS, "id", "parentId", "childrenList",AuthContext.getTenantId());
return Tools.buildEntityTree(examCenterCOS, "id", "parentId", "childrenList",departmentQry.getEqCorpinfoId());
}
@ -87,6 +86,16 @@ public class DepartmentQueryExe {
departmentCO.setParentName(departmentDO.getName());
}
}
if(CommonFlagEnum.YES.getCode().equals(departmentCO.getSuperviseFlag())){
// departmentSuperviseRepository
DepartmentSupervisePageQry qry = new DepartmentSupervisePageQry();
qry.setEqSuperviseDepartmentId(id);
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
List<Long> postDepartmentDOS = departmentSuperviseRepository.listBySuperviseDepartmentId(params);
if(CollUtil.isNotEmpty(postDepartmentDOS)){
departmentCO.setDepartmentIdsList(postDepartmentDOS);
}
}
return departmentCO;
}

View File

@ -0,0 +1,42 @@
package com.zcloud.basic.info.command.query;
import com.alibaba.cola.dto.PageResponse;
import com.zcloud.basic.info.command.convertor.DepartmentSuperviseCoConvertor;
import com.zcloud.basic.info.dto.DepartmentSupervisePageQry;
import com.zcloud.basic.info.dto.clientobject.DepartmentSuperviseCO;
import com.zcloud.basic.info.persistence.dataobject.DepartmentSuperviseDO;
import com.zcloud.basic.info.persistence.repository.DepartmentSuperviseRepository;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
/**
* web-app
*
* @Author zhaokai
* @Date 2025-11-10 14:13:46
*/
@Component
@AllArgsConstructor
public class DepartmentSuperviseQueryExe {
private final DepartmentSuperviseRepository departmentSuperviseRepository;
private final DepartmentSuperviseCoConvertor departmentSuperviseCoConvertor;
/**
*
*
* @param departmentSupervisePageQry
* @return
*/
public PageResponse<DepartmentSuperviseCO> execute(DepartmentSupervisePageQry departmentSupervisePageQry) {
Map<String, Object> params = PageQueryHelper.toHashMap(departmentSupervisePageQry);
PageResponse<DepartmentSuperviseDO> pageResponse = departmentSuperviseRepository.listPage(params);
List<DepartmentSuperviseCO> examCenterCOS = departmentSuperviseCoConvertor.converDOsToCOs(pageResponse.getData());
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
}

View File

@ -6,6 +6,7 @@ import com.jjb.saas.framework.auth.utils.AuthContext;
import com.zcloud.basic.info.api.CorpInfoServiceI;
import com.zcloud.basic.info.command.*;
import com.zcloud.basic.info.command.query.CorpInfoQueryExe;
import com.zcloud.basic.info.domain.enums.CorpTypeEnum;
import com.zcloud.basic.info.dto.*;
import com.zcloud.basic.info.dto.clientobject.CorpDepartmentCO;
import com.zcloud.basic.info.dto.clientobject.CorpInfoCO;
@ -31,7 +32,8 @@ public class CorpInfoServiceImpl implements CorpInfoServiceI {
private final CorpInfoRemoveExe corpInfoRemoveExe;
private final CorpInfoQueryExe corpInfoQueryExe;
// TODO 下面的sysUser废弃了后续写完写的执行器需要重新完善
// private final SysUserAddExe sysUserAddExe;
private final UserAddExe userAddExe;
private final DepartmentAddExe departmentAddExe;
// private final SysUserUpdateExe sysUserUpdateExe;
@Override
@ -42,8 +44,7 @@ public class CorpInfoServiceImpl implements CorpInfoServiceI {
@Override
public SingleResponse add(CorpInfoAddCmd cmd) {
Long id = corpInfoAddExe.execute(cmd);
corpInfoAddExe.execute(cmd);
return SingleResponse.buildSuccess();
}

View File

@ -28,8 +28,7 @@ public class CorpInfoXgfServiceImpl implements CorpInfoXgfServiceI {
private final CorpInfoXgfUpdateExe corpInfoXgfUpdateExe;
private final CorpInfoXgfRemoveExe corpInfoXgfRemoveExe;
private final CorpInfoXgfQueryExe corpInfoXgfQueryExe;
// TODO 下面的sysUser废弃了后续写完写的执行器需要重新完善
// private final SysUserAddExe sysUserAddExe;
@Override
public PageResponse<CorpInfoXgfCO> listPage(CorpInfoXgfPageQry qry) {
@ -38,10 +37,7 @@ public class CorpInfoXgfServiceImpl implements CorpInfoXgfServiceI {
@Override
public SingleResponse add(CorpInfoXgfAddCmd cmd) {
Long userId = AuthContext.getUserId();
Long id = corpInfoXgfAddExe.execute(cmd);
//新增企业成功后新增企业主账号用户(企业主账号的gbsId与企业的gbsId一致) 2025-10-31 huangyuxuan
// todo 再完善
corpInfoXgfAddExe.execute(cmd);
return SingleResponse.buildSuccess();
}

View File

@ -0,0 +1,59 @@
package com.zcloud.basic.info.service;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.basic.info.api.DepartmentSuperviseServiceI;
import com.zcloud.basic.info.command.DepartmentSuperviseAddExe;
import com.zcloud.basic.info.command.DepartmentSuperviseRemoveExe;
import com.zcloud.basic.info.command.DepartmentSuperviseUpdateExe;
import com.zcloud.basic.info.command.query.DepartmentSuperviseQueryExe;
import com.zcloud.basic.info.dto.DepartmentSuperviseAddCmd;
import com.zcloud.basic.info.dto.DepartmentSupervisePageQry;
import com.zcloud.basic.info.dto.DepartmentSuperviseUpdateCmd;
import com.zcloud.basic.info.dto.clientobject.DepartmentSuperviseCO;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
/**
* web-app
*
* @Author zhaokai
* @Date 2025-11-10 14:13:46
*/
@Service
@AllArgsConstructor
public class DepartmentSuperviseServiceImpl implements DepartmentSuperviseServiceI {
private final DepartmentSuperviseAddExe departmentSuperviseAddExe;
private final DepartmentSuperviseUpdateExe departmentSuperviseUpdateExe;
private final DepartmentSuperviseRemoveExe departmentSuperviseRemoveExe;
private final DepartmentSuperviseQueryExe departmentSuperviseQueryExe;
@Override
public PageResponse<DepartmentSuperviseCO> listPage(DepartmentSupervisePageQry qry) {
return departmentSuperviseQueryExe.execute(qry);
}
@Override
public SingleResponse add(DepartmentSuperviseAddCmd cmd) {
departmentSuperviseAddExe.execute(cmd);
return SingleResponse.buildSuccess();
}
@Override
public void edit(DepartmentSuperviseUpdateCmd departmentSuperviseUpdateCmd) {
departmentSuperviseUpdateExe.execute(departmentSuperviseUpdateCmd);
}
@Override
public void remove(Long id) {
departmentSuperviseRemoveExe.execute(id);
}
@Override
public void removeBatch(Long[] ids) {
departmentSuperviseRemoveExe.execute(ids);
}
}

View File

@ -0,0 +1,27 @@
package com.zcloud.basic.info.api;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.basic.info.dto.DepartmentSuperviseAddCmd;
import com.zcloud.basic.info.dto.DepartmentSupervisePageQry;
import com.zcloud.basic.info.dto.DepartmentSuperviseUpdateCmd;
import com.zcloud.basic.info.dto.clientobject.DepartmentSuperviseCO;
/**
* web-client
*
* @Author zhaokai
* @Date 2025-11-10 14:13:46
*/
public interface DepartmentSuperviseServiceI {
PageResponse<DepartmentSuperviseCO> listPage(DepartmentSupervisePageQry qry);
SingleResponse<DepartmentSuperviseCO> add(DepartmentSuperviseAddCmd cmd);
void edit(DepartmentSuperviseUpdateCmd cmd);
void remove(Long id);
void removeBatch(Long[] ids);
}

View File

@ -31,8 +31,6 @@ public class CorpInfoAddCmd extends Command {
@ApiModelProperty(value = "企业名称", name = "corpName", required = true)
@NotEmpty(message = "企业名称不能为空")
private String corpName;
@ApiModelProperty(value = "企业账号")
private String corpAccount;
@ApiModelProperty(value = "企业类型(0-普通企业1-集团单位2-股份单位3-相关方企业4-货主单位5-驻港单位)", name = "type", required = true)
private Integer type;
@ApiModelProperty(value = "相关方等级1 一级相关方,2 二级相关方", name = "xgfLevel", required = true)

View File

@ -42,9 +42,6 @@ public class CorpInfoPageQry extends PageQuery {
@ApiModelProperty(value = "企业类型1监管 2企业 3相关方", name = "enterpriseType", required = true)
private Integer enterpriseType;
@ApiModelProperty(value = "企业账号", name = "likeCorpAccount")
private String likeCorpAccount;
@ApiModelProperty(value = "统一社会信用代码", name = "code", required = true)
private String eqCode;

View File

@ -33,8 +33,6 @@ public class CorpInfoUpdateCmd extends Command {
@ApiModelProperty(value = "企业名称", name = "corpName", required = true)
@NotEmpty(message = "企业名称不能为空")
private String corpName;
@ApiModelProperty(value = "企业账号")
private String corpAccount;
@ApiModelProperty(value = "企业类型(0-普通企业1-集团单位2-股份单位3-相关方企业4-货主单位5-驻港单位)", name = "type", required = true)
private Integer type;
@ApiModelProperty(value = "相关方等级1 一级相关方,2 二级相关方", name = "xgfLevel", required = true)

View File

@ -27,8 +27,6 @@ public class CorpInfoXgfAddCmd extends Command {
@ApiModelProperty(value = "企业名称,汉字30以内", name = "corpName", required = true)
@NotEmpty(message = "企业名称不能为空")
private String corpName;
@ApiModelProperty(value = "企业账号")
private String corpAccount;
@ApiModelProperty(value = "企业类型(0-普通企业1-集团单位2-股份单位3-相关方企业4-货主单位5-驻港单位)", name = "type", required = true)
private Integer type;

View File

@ -34,8 +34,6 @@ public class CorpInfoXgfUpdateCmd extends Command {
@ApiModelProperty(value = "企业名称", name = "corpName", required = true)
@NotEmpty(message = "企业名称不能为空")
private String corpName;
@ApiModelProperty(value = "企业账号")
private String corpAccount;
@ApiModelProperty(value = "企业类型(0-普通企业1-集团单位2-股份单位3-相关方企业4-货主单位5-驻港单位)", name = "type", required = true)
private Integer type;
@ApiModelProperty(value = "相关方等级1 一级相关方,2 二级相关方", name = "xgfLevel", required = true)

View File

@ -10,6 +10,7 @@ import lombok.NoArgsConstructor;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
import java.util.List;
/**
* web-client
@ -47,8 +48,13 @@ public class DepartmentAddCmd extends Command {
private Integer superviseFlag;
@ApiModelProperty(value = "是否安全管理部门 0-否 1-是", name = "securityFlag")
private Integer securityFlag;
@ApiModelProperty(value = "部门职能")
private String departmentFunction;
@ApiModelProperty(value = "备注", name = "remarks")
private String remarks;
@ApiModelProperty(value = "监管部门权限", name = "departmentIdsString")
private List<Long> departmentIdsList;
}

View File

@ -0,0 +1,32 @@
package com.zcloud.basic.info.dto;
import com.alibaba.cola.dto.Command;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
/**
* web-client
*
* @Author zhaokai
* @Date 2025-11-10 14:13:45
*/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class DepartmentSuperviseAddCmd extends Command {
@ApiModelProperty(value = "监管部门id", name = "superviseDepartmentId", required = true)
@NotNull(message = "监管部门id不能为空")
private Long superviseDepartmentId;
@ApiModelProperty(value = "部门id", name = "departmentId", required = true)
@NotNull(message = "部门id不能为空")
private Long departmentId;
}

View File

@ -0,0 +1,29 @@
package com.zcloud.basic.info.dto;
import com.alibaba.cola.dto.PageQuery;
import lombok.Data;
/**
* web-client
*
* @Author zhaokai
* @Date 2025-11-10 14:13:46
*/
@Data
public class DepartmentSupervisePageQry extends PageQuery {
/**
* ,
* - `like`: SQLLIKE
* - `eq`: SQL=
* - `gt`:
* - `lt`:
* - `ge`:
* - `le`:
* - `ne`: SQL!=
*/
private String likePostDepartmentId;
private Long eqSuperviseDepartmentId;
}

View File

@ -0,0 +1,37 @@
package com.zcloud.basic.info.dto;
import com.alibaba.cola.dto.Command;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
/**
* web-client
*
* @Author zhaokai
* @Date 2025-11-10 14:13:46
*/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class DepartmentSuperviseUpdateCmd extends Command {
@ApiModelProperty(value = "主键", name = "id", required = true)
@NotNull(message = "主键不能为空")
private Long id;
@ApiModelProperty(value = "业务主键id", name = "superviseId", required = true)
@NotEmpty(message = "业务主键id不能为空")
private String superviseId;
@ApiModelProperty(value = "监管部门id", name = "superviseDepartmentId", required = true)
@NotNull(message = "监管部门id不能为空")
private Long superviseDepartmentId;
@ApiModelProperty(value = "部门id", name = "departmentId", required = true)
@NotNull(message = "部门id不能为空")
private Long departmentId;
}

View File

@ -10,6 +10,7 @@ import lombok.NoArgsConstructor;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
import java.util.List;
/**
* web-client
@ -45,8 +46,11 @@ public class DepartmentUpdateCmd extends Command {
private Integer superviseFlag;
@ApiModelProperty(value = "是否安全管理部门 0-否 1-是", name = "securityFlag")
private Integer securityFlag;
@ApiModelProperty(value = "部门职能")
private String departmentFunction;
@ApiModelProperty(value = "备注", name = "remarks")
private String remarks;
@ApiModelProperty(value = "监管部门权限", name = "departmentIdsString")
private List<Long> departmentIdsList;
}

View File

@ -26,8 +26,7 @@ public class CorpInfoCO extends ClientObject {
//企业名称
@ApiModelProperty(value = "企业名称")
private String corpName;
@ApiModelProperty(value = "企业账号")
private String corpAccount;
//企业类型(0-普通企业1-集团单位2-股份单位3-相关方企业4-货主单位5-驻港单位)
@ApiModelProperty(value = "企业类型(0-普通企业1-集团单位2-股份单位3-相关方企业4-货主单位5-驻港单位)")
private Integer type;

View File

@ -28,8 +28,6 @@ public class CorpInfoXgfCO extends ClientObject {
//企业名称
@ApiModelProperty(value = "企业名称")
private String corpName;
@ApiModelProperty(value = "企业账号")
private String corpAccount;
//企业类型(0-普通企业1-集团单位2-股份单位3-相关方企业4-货主单位5-驻港单位)
@ApiModelProperty(value = "企业类型(0-普通企业1-集团单位2-股份单位3-相关方企业4-货主单位5-驻港单位)")
private Integer type;

View File

@ -45,7 +45,8 @@ public class DepartmentCO extends ClientObject {
private Integer superviseFlag;
@ApiModelProperty(value = "是否安全管理部门 0-否 1-是", name = "securityFlag")
private Integer securityFlag;
@ApiModelProperty(value = "部门职能")
private String departmentFunction;
//乐观锁
@ApiModelProperty(value = "乐观锁")
private Integer version;

View File

@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
/**
@ -46,7 +47,8 @@ public class DepartmentInfoCO extends ClientObject {
private Integer superviseFlag;
@ApiModelProperty(value = "是否安全管理部门 0-否 1-是", name = "securityFlag")
private Integer securityFlag;
@ApiModelProperty(value = "部门职能")
private String departmentFunction;
//乐观锁
@ApiModelProperty(value = "乐观锁")
private Integer version;
@ -83,5 +85,7 @@ public class DepartmentInfoCO extends ClientObject {
//环境
@ApiModelProperty(value = "环境")
private String env;
@ApiModelProperty(value = "监管部门权限", name = "departmentIdsList")
private List<Long> departmentIdsList;
}

View File

@ -0,0 +1,67 @@
package com.zcloud.basic.info.dto.clientobject;
import com.alibaba.cola.dto.ClientObject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
/**
* web-client
*
* @Author zhaokai
* @Date 2025-11-10 14:13:45
*/
@Data
public class DepartmentSuperviseCO extends ClientObject {
//主键
@ApiModelProperty(value = "主键")
private Long id;
//业务主键id
@ApiModelProperty(value = "业务主键id")
private String superviseId;
//监管部门id
@ApiModelProperty(value = "监管部门id")
private Long superviseDepartmentId;
//部门id
@ApiModelProperty(value = "部门id")
private Long departmentId;
//乐观锁
@ApiModelProperty(value = "乐观锁")
private Integer version;
//创建人
@ApiModelProperty(value = "创建人")
private Long createId;
//创建人姓名
@ApiModelProperty(value = "创建人姓名")
private String createName;
//创建时间
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
//更新人
@ApiModelProperty(value = "更新人")
private Long updateId;
//修改人名称
@ApiModelProperty(value = "修改人名称")
private String updateName;
//更新时间
@ApiModelProperty(value = "更新时间")
private LocalDateTime updateTime;
//描述
@ApiModelProperty(value = "描述")
private String remarks;
//是否删除
@ApiModelProperty(value = "是否删除")
private String deleteEnum;
//租户id
@ApiModelProperty(value = "租户id")
private Long tenantId;
//机构id
@ApiModelProperty(value = "机构id")
private Long orgId;
//环境
@ApiModelProperty(value = "环境")
private String env;
}

View File

@ -0,0 +1,17 @@
package com.zcloud.basic.info.domain.enums;
import lombok.Getter;
@Getter
public enum CommonFlagEnum {
NO(0,"否"),
YES(1,"是"),
;
private final Integer code;
private final String name;
CommonFlagEnum(Integer code,String name) {
this.code = code;
this.name = name;
}
}

View File

@ -8,34 +8,35 @@ import java.util.stream.Collectors;
/**
* corp_info type(0-1-2-3-4-5-)
* enterpriseType
* .1 2 3
*/
@Getter
public enum CorpTypeEnum {
OrdinaryEnterprises(0,"普通企业",2),
groupUnits(1, "集团单位",1),
share(2,"股份单位",2),
serviceProvider(3, "相关方企业",3),
cargoOwner(4, "货主单位",3),
portUnit(5, "驻港单位",3);
OrdinaryEnterprises(0,"普通企业",UserTypeEnum.QY.getCode()),
groupUnits(1, "集团单位",UserTypeEnum.JG.getCode()),
share(2,"股份单位",UserTypeEnum.QY.getCode()),
serviceProvider(3, "相关方企业",UserTypeEnum.XGF.getCode()),
cargoOwner(4, "货主单位",UserTypeEnum.XGF.getCode()),
portUnit(5, "驻港单位",UserTypeEnum.XGF.getCode());
private static final Map<Integer, List<Integer>> ENTERPRISE_TYPE_CODE_MAP = new HashMap<>();
private final Integer code;
private final String name;
//传入的企业类型企业类型 1监管 2企业 3相关方
private final Integer enterpriseType;
private final Integer userType;
CorpTypeEnum(Integer code, String name,Integer enterpriseType) {
CorpTypeEnum(Integer code, String name,Integer userType) {
this.code = code;
this.name = name;
this.enterpriseType = enterpriseType;
this.userType = userType;
}
static {
Arrays.stream(CorpTypeEnum.values())
.collect(Collectors.groupingBy(CorpTypeEnum::getEnterpriseType))
.forEach((enterpriseType, corpTypes) ->
.collect(Collectors.groupingBy(CorpTypeEnum::getUserType))
.forEach((userType, corpTypes) ->
ENTERPRISE_TYPE_CODE_MAP.put(
enterpriseType,
userType,
corpTypes.stream().map(CorpTypeEnum::getCode).collect(Collectors.toList())
)
);
@ -44,6 +45,14 @@ public enum CorpTypeEnum {
public static List<Integer> getCodesByEnterpriseType(Integer enterpriseType) {
return ENTERPRISE_TYPE_CODE_MAP.getOrDefault(enterpriseType, Collections.emptyList());
}
public static Integer getUserTypeByCode(Integer code) {
for (CorpTypeEnum corpType : values()) {
if (corpType.code.equals(code)) {
return corpType.userType;
}
}
return null;
}
}

View File

@ -1,7 +1,6 @@
package com.zcloud.basic.info.domain.enums;
import lombok.Getter;
@Getter
public enum UserTypeEnum {
JG(1,"监管"),

View File

@ -2,6 +2,9 @@ package com.zcloud.basic.info.domain.gateway;
import com.zcloud.basic.info.domain.model.CorpInfoE;
import javax.validation.constraints.NotEmpty;
import java.util.List;
/**
* web-domain
*
@ -28,5 +31,6 @@ public interface CorpInfoGateway {
Boolean deletedCorpInfoByIds(Long[] id);
void changeCompanyName(CorpInfoE corpInfoE);
}

View File

@ -0,0 +1,37 @@
package com.zcloud.basic.info.domain.gateway;
import com.zcloud.basic.info.domain.model.DepartmentSuperviseE;
import java.util.List;
/**
* web-domain
*
* @Author zhaokai
* @Date 2025-11-10 14:13:46
*/
public interface DepartmentSuperviseGateway {
/**
*
*/
Boolean add(DepartmentSuperviseE departmentSuperviseE);
/**
*
*/
Boolean update(DepartmentSuperviseE departmentSuperviseE);
/**
*
*/
Boolean deletedDepartmentSuperviseById(Long id);
Boolean deletedDepartmentSuperviseByIds(Long[] id);
void addbatch(List<DepartmentSuperviseE> departmentSuperviseEList);
void deletedDepartmentBySuperviseId(Long id);
void deletedDepartmentBySuperviseIdList(List<Long> id);
}

View File

@ -28,7 +28,6 @@ public class CorpInfoE extends BaseE {
//企业名称
private String corpName;
private String corpAccount;
//企业类型(0-普通企业1-集团单位2-股份单位3-相关方企业4-货主单位5-驻港单位)
private Integer type;
//相关方等级1 一级相关方,2 二级相关方

View File

@ -22,7 +22,6 @@ public class CorpInfoXgfE extends BaseE {
//企业名称
private String corpName;
private String corpAccount;
//企业类型(0-普通企业1-集团单位2-股份单位3-相关方企业4-货主单位5-驻港单位)
private Integer type;
//相关方等级1 一级相关方,2 二级相关方

View File

@ -2,11 +2,15 @@ package com.zcloud.basic.info.domain.model;
import com.alibaba.cola.domain.Entity;
import com.jjb.saas.framework.domain.model.BaseE;
import com.zcloud.gbscommon.utils.Tools;
import com.zcloud.gbscommon.utils.UuidUtil;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotEmpty;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
/**
@ -38,7 +42,30 @@ public class DepartmentE extends BaseE {
private Integer superviseFlag;
//是否安全管理部门 0-否 1-是
private Integer securityFlag;
private String departmentFunction;
/**
*
* @param departmentIdsString
* @param superviseDepartmentId
* @return
*/
public List<DepartmentSuperviseE> initAdd(List<Long> departmentIdsString, Long superviseDepartmentId) {
List<DepartmentSuperviseE> departmentSuperviseEList = new ArrayList<>();
departmentIdsString.forEach(departmentId -> {
DepartmentSuperviseE departmentSuperviseE = new DepartmentSuperviseE();
departmentSuperviseE.setSuperviseId(Tools.get32UUID());
departmentSuperviseE.setDepartmentId(departmentId);
departmentSuperviseE.setSuperviseDepartmentId(superviseDepartmentId);
departmentSuperviseEList.add(departmentSuperviseE);
});
return departmentSuperviseEList;
}
public void initCorpInfo(Long corpInfoId, String corpName) {
this.setCorpinfoId(corpInfoId);
this.setLevelName(corpName);
}
}

View File

@ -0,0 +1,67 @@
package com.zcloud.basic.info.domain.model;
import com.jjb.saas.framework.domain.model.BaseE;
import lombok.Data;
import java.time.LocalDateTime;
/**
* web-domain
*
* @Author zhaokai
* @Date 2025-11-10 14:13:46
*/
@Data
public class DepartmentSuperviseE extends BaseE {
//主键
private Long id;
//业务主键id
private String superviseId;
//监管部门id
private Long superviseDepartmentId;
//部门id
private Long departmentId;
//乐观锁
private Integer version;
//创建人
private Long createId;
//创建人姓名
private String createName;
//创建时间
private LocalDateTime createTime;
//更新人
private Long updateId;
//修改人名称
private String updateName;
//更新时间
private LocalDateTime updateTime;
//描述
private String remarks;
//是否删除
private String deleteEnum;
//租户id
private Long tenantId;
//机构id
private Long orgId;
//环境
private String env;
public void initAdd(DepartmentSuperviseE departmentSuperviseE, Long corpinfoId, Long id) {
/**
* if(Objects.isNull(departmentIds) || departmentIds.length == 0){
* // 没有部门id集合, 可能是没有给部门权限
* return new ArrayList<>();
* }
* List<PostDepartmentE> postDepartmentEList = new ArrayList<>();
* for (Long departmentId : departmentIds) {
* PostDepartmentE e = new PostDepartmentE();
* e.setPostDepartmentId(UuidUtil.get32UUID());
* e.setPostId(postId);
* e.setDepartmentId(departmentId);
* postDepartmentEList.add(e);
* }
* return postDepartmentEList;
*/
}
}

View File

@ -5,6 +5,7 @@ import com.alibaba.cola.dto.Response;
import com.alibaba.cola.exception.BizException;
import com.jjb.saas.framework.domain.model.BaseE;
import com.zcloud.gbscommon.excelEntity.RiskUnitExcelEntity;
import com.zcloud.basic.info.domain.enums.CorpTypeEnum;
import com.zcloud.gbscommon.excelEntity.UserExcelExportEntity;
import com.zcloud.gbscommon.excelEntity.UserExcelImportEntity;
import com.zcloud.gbscommon.utils.ExcelUtils;
@ -196,5 +197,10 @@ public class UserE extends BaseE {
return list;
}
public void initCorpInfo(CorpInfoE examTypeE, Long departmentId) {
this.setName(examTypeE.getCorpName());
this.setDepartmentId(departmentId);
this.setUserType(CorpTypeEnum.getUserTypeByCode(examTypeE.getType()));
}
}

View File

@ -1,16 +1,22 @@
package com.zcloud.basic.info.gatewayimpl;
import com.alibaba.cola.exception.BizException;
import com.jjb.saas.system.client.tenant.facade.TenantFacade;
import com.jjb.saas.system.client.tenant.request.OtaTenantAddCmd;
import com.zcloud.basic.info.domain.gateway.CorpInfoGateway;
import com.zcloud.basic.info.domain.model.CorpInfoE;
import com.zcloud.basic.info.persistence.dataobject.CorpInfoDO;
import com.zcloud.basic.info.persistence.repository.CorpInfoRepository;
import com.zcloud.gbscommon.utils.Tools;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
/**
* web-infrastructure
@ -20,17 +26,35 @@ import java.util.Collections;
*/
@Service
@AllArgsConstructor
@Slf4j
public class CorpInfoGatewayImpl implements CorpInfoGateway {
private final CorpInfoRepository corpInfoRepository;
@DubboReference
private TenantFacade tenantFacade;
@Override
public Long add(CorpInfoE corpInfoE) {
Long corpCount = corpInfoRepository.getCorpCountByCorpName(corpInfoE.getCorpName());
if(corpCount>0){
throw new BizException("企业名称已存在");
}
CorpInfoDO d = new CorpInfoDO();
BeanUtils.copyProperties(corpInfoE, d);
if(StringUtils.isEmpty(d.getCorpinfoId())){
d.setCorpinfoId(Tools.get32UUID());
}
corpInfoRepository.save(d);
OtaTenantAddCmd otaTenantAddCmd = new OtaTenantAddCmd();
otaTenantAddCmd.setAccount(corpInfoE.getCorpName());
otaTenantAddCmd.setTenantId(d.getId());
otaTenantAddCmd.setTenantName(corpInfoE.getCorpName());
otaTenantAddCmd.setPassword("Aa@123456789");
log.info("CorpInfoXgfAddExe,新增企业调用GBS请求:{}",otaTenantAddCmd.toString());
//TODO 企业推送gbs报错解密失败
// Response response = tenantFacade.addOtaTenant(otaTenantAddCmd);
//log.info("CorpInfoXgfAddExe,新增企业调用GBS返回:{}",response.toString());
return d.getId();
}
@ -58,5 +82,6 @@ public class CorpInfoGatewayImpl implements CorpInfoGateway {
corpInfo.setCorpName(corpInfoE.getCorpName());
corpInfoRepository.updateById(corpInfo);
}
}

View File

@ -1,12 +1,19 @@
package com.zcloud.basic.info.gatewayimpl;
import com.alibaba.cola.dto.Response;
import com.jjb.saas.framework.auth.utils.AuthContext;
import com.jjb.saas.system.client.dept.facade.DeptFacade;
import com.jjb.saas.system.client.dept.request.FacadeAddDeptCmd;
import com.jjb.saas.system.enums.org.DeptTypeEnum;
import com.zcloud.basic.info.domain.gateway.DepartmentGateway;
import com.zcloud.basic.info.domain.model.DepartmentE;
import com.zcloud.basic.info.persistence.dataobject.DepartmentDO;
import com.zcloud.basic.info.persistence.repository.DepartmentRepository;
import com.zcloud.gbscommon.utils.Tools;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@ -20,17 +27,38 @@ import java.util.Collections;
*/
@Service
@AllArgsConstructor
@Slf4j
public class DepartmentGatewayImpl implements DepartmentGateway {
private final DepartmentRepository departmentRepository;
@DubboReference
private DeptFacade deptFacade;
@Override
public Long add(DepartmentE departmentE) {
//TODO 父id的值待定
if(departmentE.getParentId()==null){
departmentE.setParentId(AuthContext.getTenantId());
}
if(departmentE.getCorpinfoId() == null){
departmentE.setCorpinfoId(AuthContext.getTenantId());
}
DepartmentDO d = new DepartmentDO();
BeanUtils.copyProperties(departmentE, d);
if(StringUtils.isEmpty(d.getDepartmentId())){
d.setDepartmentId(Tools.get32UUID());
}
departmentRepository.save(d);
// 需要调用GBS新增
FacadeAddDeptCmd deptCmd = new FacadeAddDeptCmd();
deptCmd.setLinkId(d.getId());
deptCmd.setLinkName(departmentE.getName());
deptCmd.setParentId(departmentE.getParentId());
deptCmd.setDeptTypeEnum(DeptTypeEnum.DEPARTMENT.getValue());
//TODO gbs部门表 sys_dept tenant_idparent_idsadd_type_enum存储错误导致gbs页面看不到参数还没有待定
Response response = deptFacade.addDept(deptCmd);
log.info("DepartmentAddExe,新增部门调用GBS返回"+response.toString());
return d.getId();
}

View File

@ -0,0 +1,80 @@
package com.zcloud.basic.info.gatewayimpl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zcloud.basic.info.domain.gateway.DepartmentSuperviseGateway;
import com.zcloud.basic.info.domain.model.DepartmentSuperviseE;
import com.zcloud.basic.info.persistence.dataobject.DepartmentSuperviseDO;
import com.zcloud.basic.info.persistence.repository.DepartmentSuperviseRepository;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
/**
* web-infrastructure
*
* @Author zhaokai
* @Date 2025-11-10 14:13:46
*/
@Service
@AllArgsConstructor
public class DepartmentSuperviseGatewayImpl implements DepartmentSuperviseGateway {
private final DepartmentSuperviseRepository departmentSuperviseRepository;
@Override
public Boolean add(DepartmentSuperviseE departmentSuperviseE) {
DepartmentSuperviseDO d = new DepartmentSuperviseDO();
BeanUtils.copyProperties(departmentSuperviseE, d);
departmentSuperviseRepository.save(d);
return true;
}
@Override
public Boolean update(DepartmentSuperviseE departmentSuperviseE) {
DepartmentSuperviseDO d = new DepartmentSuperviseDO();
BeanUtils.copyProperties(departmentSuperviseE, d);
departmentSuperviseRepository.updateById(d);
return true;
}
@Override
public Boolean deletedDepartmentSuperviseById(Long id) {
return departmentSuperviseRepository.removeById(id);
}
@Override
public Boolean deletedDepartmentSuperviseByIds(Long[] ids) {
return departmentSuperviseRepository.removeByIds(Collections.singletonList(ids));
}
@Override
public void addbatch(List<DepartmentSuperviseE> departmentSuperviseEList) {
List<DepartmentSuperviseDO> departmentSuperviseDOs = departmentSuperviseEList.stream()
.map(this::convertToDO)
.collect(Collectors.toList());
departmentSuperviseRepository.saveBatch(departmentSuperviseDOs);
}
private DepartmentSuperviseDO convertToDO(DepartmentSuperviseE entity) {
DepartmentSuperviseDO departmentSuperviseDO = new DepartmentSuperviseDO();
BeanUtils.copyProperties(entity, departmentSuperviseDO);
return departmentSuperviseDO;
}
@Override
public void deletedDepartmentBySuperviseId(Long id) {
QueryWrapper<DepartmentSuperviseDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("supervise_department_id", id);
departmentSuperviseRepository.remove(queryWrapper);
}
@Override
public void deletedDepartmentBySuperviseIdList(List<Long> idList) {
QueryWrapper<DepartmentSuperviseDO> queryWrapper = new QueryWrapper<>();
queryWrapper.in("supervise_department_id", idList);
departmentSuperviseRepository.remove(queryWrapper);
}
}

View File

@ -30,7 +30,6 @@ public class CorpInfoDO extends BaseDO {
@ApiModelProperty(value = "企业名称")
private String corpName;
private String corpAccount;
//企业类型(0-普通企业1-集团单位2-股份单位3-相关方企业4-货主单位5-驻港单位)
@ApiModelProperty(value = "企业类型(0-普通企业1-集团单位2-股份单位3-相关方企业4-货主单位5-驻港单位)")
private Integer type;

View File

@ -47,6 +47,8 @@ public class DepartmentDO extends BaseDO {
private Integer superviseFlag;
@ApiModelProperty(value = "是否安全管理部门 0-否 1-是")
private Integer securityFlag;
@ApiModelProperty(value = "部门职能")
private String departmentFunction;
}

View File

@ -0,0 +1,36 @@
package com.zcloud.basic.info.persistence.dataobject;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jjb.saas.framework.repository.basedo.BaseDO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
/**
* web-infrastructure
*
* @Author zhaokai
* @Date 2025-11-10 14:13:46
*/
@Data
@TableName("department_supervise")
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class DepartmentSuperviseDO extends BaseDO {
//业务主键id
@ApiModelProperty(value = "业务主键id")
private String superviseId;
//监管部门id
@ApiModelProperty(value = "监管部门id")
private Long superviseDepartmentId;
//部门id
@ApiModelProperty(value = "部门id")
private Long departmentId;
public DepartmentSuperviseDO(String superviseId) {
this.superviseId = superviseId;
}
}

View File

@ -0,0 +1,17 @@
package com.zcloud.basic.info.persistence.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zcloud.basic.info.persistence.dataobject.DepartmentSuperviseDO;
import org.apache.ibatis.annotations.Mapper;
/**
* web-infrastructure
*
* @Author zhaokai
* @Date 2025-11-10 14:13:46
*/
@Mapper
public interface DepartmentSuperviseMapper extends BaseMapper<DepartmentSuperviseDO> {
}

View File

@ -16,6 +16,6 @@ import java.util.Map;
public interface CorpInfoRepository extends BaseRepository<CorpInfoDO> {
PageResponse<CorpInfoDO> listPage(Map<String, Object> parmas);
void changeEnableFlag(CorpInfoDO corpInfoDO);
Long getCorpCountByCorpName(String corpName);
}

View File

@ -2,6 +2,7 @@ package com.zcloud.basic.info.persistence.repository;
import com.alibaba.cola.dto.PageResponse;
import com.jjb.saas.framework.repository.repo.BaseRepository;
import com.zcloud.basic.info.domain.model.DepartmentE;
import com.zcloud.basic.info.persistence.dataobject.CorpInfoDO;
import com.zcloud.basic.info.persistence.dataobject.DepartmentDO;
@ -25,5 +26,6 @@ public interface DepartmentRepository extends BaseRepository<DepartmentDO> {
Long getCountByCorpInfoId(Long id);
Long addCorpDepartment(DepartmentE departmentE);
}

View File

@ -0,0 +1,21 @@
package com.zcloud.basic.info.persistence.repository;
import com.alibaba.cola.dto.PageResponse;
import com.jjb.saas.framework.repository.repo.BaseRepository;
import com.zcloud.basic.info.persistence.dataobject.DepartmentSuperviseDO;
import java.util.List;
import java.util.Map;
/**
* web-infrastructure
*
* @Author zhaokai
* @Date 2025-11-10 14:13:46
*/
public interface DepartmentSuperviseRepository extends BaseRepository<DepartmentSuperviseDO> {
PageResponse<DepartmentSuperviseDO> listPage(Map<String, Object> params);
List<Long> listBySuperviseDepartmentId(Map<String, Object> params);
}

View File

@ -3,6 +3,7 @@ package com.zcloud.basic.info.persistence.repository;
import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.PageResponse;
import com.jjb.saas.framework.repository.repo.BaseRepository;
import com.zcloud.basic.info.domain.model.UserEmploymentLogE;
import com.zcloud.basic.info.persistence.dataobject.UserEmploymentLogDO;
import java.util.List;
@ -17,5 +18,7 @@ import java.util.Map;
public interface UserEmploymentLogRepository extends BaseRepository<UserEmploymentLogDO> {
PageResponse<UserEmploymentLogDO> listPage(Map<String, Object> params);
List<UserEmploymentLogDO> listAll(Map<String, Object> params);
void addCorpUserEmploymentLog(UserEmploymentLogE userEmploymentLogE);
}

View File

@ -3,6 +3,7 @@ package com.zcloud.basic.info.persistence.repository;
import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.PageResponse;
import com.jjb.saas.framework.repository.repo.BaseRepository;
import com.zcloud.basic.info.domain.model.CorpInfoE;
import com.zcloud.basic.info.persistence.dataobject.UserDO;
import java.util.List;
@ -30,5 +31,6 @@ public interface UserRepository extends BaseRepository<UserDO> {
List<UserDO> listByPostId(Long postId);
List<UserDO> listByPostIds(Long[] postIds);
void addCorpUser(CorpInfoE examTypeE);
}

View File

@ -45,8 +45,10 @@ public class CorpInfoRepositoryImpl extends BaseRepositoryImpl<CorpInfoMapper, C
}
@Override
public void changeEnableFlag(CorpInfoDO corpInfoDO) {
public Long getCorpCountByCorpName(String corpName) {
QueryWrapper<CorpInfoDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("corp_name", corpName);
return corpInfoMapper.selectCount(queryWrapper);
}
}

View File

@ -9,6 +9,7 @@ import com.jjb.saas.framework.auth.model.SSOUser;
import com.jjb.saas.framework.auth.utils.AuthContext;
import com.jjb.saas.framework.repository.common.PageHelper;
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
import com.zcloud.basic.info.domain.model.DepartmentE;
import com.zcloud.basic.info.persistence.dataobject.CorpInfoDO;
import com.zcloud.basic.info.persistence.dataobject.DepartmentDO;
import com.zcloud.basic.info.persistence.mapper.DepartmentMapper;
@ -16,6 +17,7 @@ import com.zcloud.basic.info.persistence.repository.DepartmentRepository;
import com.zcloud.basic.info.utils.Query;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.*;
@ -78,5 +80,13 @@ public class DepartmentRepositoryImpl extends BaseRepositoryImpl<DepartmentMappe
queryWrapper.eq("corpinfo_id", id);
return departmentMapper.selectCount(queryWrapper);
}
@Override
public Long addCorpDepartment(DepartmentE departmentE) {
DepartmentDO departmentDO = new DepartmentDO();
BeanUtils.copyProperties(departmentE, departmentDO);
departmentMapper.insert(departmentDO);
return departmentDO.getId();
}
}

View File

@ -0,0 +1,50 @@
package com.zcloud.basic.info.persistence.repository.impl;
import com.alibaba.cola.dto.PageResponse;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jjb.saas.framework.repository.common.PageHelper;
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
import com.zcloud.basic.info.persistence.dataobject.DepartmentSuperviseDO;
import com.zcloud.basic.info.persistence.mapper.DepartmentSuperviseMapper;
import com.zcloud.basic.info.persistence.repository.DepartmentSuperviseRepository;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.gbscommon.utils.Query;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* web-infrastructure
*
* @Author zhaokai
* @Date 2025-11-10 14:13:46
*/
@Service
@RequiredArgsConstructor
public class DepartmentSuperviseRepositoryImpl extends BaseRepositoryImpl<DepartmentSuperviseMapper, DepartmentSuperviseDO> implements DepartmentSuperviseRepository {
private final DepartmentSuperviseMapper departmentSuperviseMapper;
@Override
public PageResponse<DepartmentSuperviseDO> listPage(Map<String, Object> params) {
IPage<DepartmentSuperviseDO> iPage = new Query<DepartmentSuperviseDO>().getPage(params);
QueryWrapper<DepartmentSuperviseDO> queryWrapper = new QueryWrapper<>();
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
queryWrapper.orderByDesc("create_time");
IPage<DepartmentSuperviseDO> result = departmentSuperviseMapper.selectPage(iPage, queryWrapper);
return PageHelper.pageToResponse(result, result.getRecords());
}
@Override
public List<Long> listBySuperviseDepartmentId(Map<String, Object> params) {
QueryWrapper<DepartmentSuperviseDO> queryWrapper = new QueryWrapper<>();
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
List<DepartmentSuperviseDO> departmentSuperviseDOS = departmentSuperviseMapper.selectList(queryWrapper);
return departmentSuperviseDOS.stream().map(DepartmentSuperviseDO::getDepartmentId).collect(Collectors.toList());
}
}

View File

@ -6,12 +6,14 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jjb.saas.framework.repository.common.PageHelper;
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
import com.zcloud.basic.info.domain.model.UserEmploymentLogE;
import com.zcloud.basic.info.persistence.dataobject.UserEmploymentLogDO;
import com.zcloud.basic.info.persistence.mapper.UserEmploymentLogMapper;
import com.zcloud.basic.info.persistence.repository.UserEmploymentLogRepository;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.gbscommon.utils.Query;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.List;
@ -46,5 +48,12 @@ public class UserEmploymentLogRepositoryImpl extends BaseRepositoryImpl<UserEmpl
queryWrapper.eq("delete_enum","FALSE");
return userEmploymentLogMapper.selectList(queryWrapper);
}
@Override
public void addCorpUserEmploymentLog(UserEmploymentLogE userEmploymentLogE) {
UserEmploymentLogDO d = new UserEmploymentLogDO();
BeanUtils.copyProperties(userEmploymentLogE, d);
save(d);
}
}

View File

@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jjb.saas.framework.repository.common.PageHelper;
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
import com.zcloud.basic.info.domain.model.CorpInfoE;
import com.zcloud.basic.info.persistence.dataobject.DepartmentDO;
import com.zcloud.basic.info.persistence.dataobject.ImgFilesDO;
import com.zcloud.basic.info.persistence.dataobject.UserDO;
@ -16,6 +17,7 @@ import com.zcloud.basic.info.persistence.repository.UserRepository;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.gbscommon.utils.Query;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.Collections;
@ -109,5 +111,12 @@ public class UserRepositoryImpl extends BaseRepositoryImpl<UserMapper, UserDO> i
List<UserDO> userPostList = this.list(queryWrapper);
return userPostList;
}
@Override
public void addCorpUser(CorpInfoE examTypeE) {
UserDO userDo = new UserDO();
BeanUtils.copyProperties(examTypeE, userDo);
save(userDo);
}
}