gbs底座数据互通

main
zhangyue 2025-11-18 09:04:37 +08:00
parent c14eb8e8a0
commit ae0f84b10d
26 changed files with 289 additions and 47 deletions

View File

@ -30,6 +30,11 @@
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.jjb.saas</groupId>
<artifactId>jjb-saas-system-client</artifactId>
<version>1.7.0-SNAPSHOT</version>
</dependency>
<!--Project modules-->
<dependency>
<groupId>com.zcloud.basic.info</groupId>

View File

@ -50,6 +50,11 @@ public class CorpInfoAddExe {
@Transactional(rollbackFor = Exception.class)
public Long execute(CorpInfoAddCmd cmd) {
CorpInfoE examTypeE = new CorpInfoE();
try {
examTypeE.initPassWord();
} catch (Exception e) {
throw new RuntimeException(e);
}
BeanUtils.copyProperties(cmd, examTypeE);
Long corpInfoId ;
try {

View File

@ -9,7 +9,11 @@ import com.zcloud.basic.info.domain.model.CorpInfoE;
import com.zcloud.basic.info.dto.CorpInfoUpdateCmd;
import com.zcloud.basic.info.dto.CorpInfoUpdateUseFlagCmd;
import com.zcloud.basic.info.persistence.dataobject.CorpInfoDO;
import com.zcloud.basic.info.persistence.dataobject.DepartmentDO;
import com.zcloud.basic.info.persistence.dataobject.UserDO;
import com.zcloud.basic.info.persistence.repository.CorpInfoRepository;
import com.zcloud.basic.info.persistence.repository.DepartmentRepository;
import com.zcloud.basic.info.persistence.repository.UserRepository;
import com.zcloud.gbscommon.utils.Const;
import com.zcloud.gbscommon.utils.ZcloudRedisUtil;
import lombok.AllArgsConstructor;
@ -32,6 +36,8 @@ import lombok.extern.slf4j.Slf4j;
public class CorpInfoUpdateExe {
private final CorpInfoGateway corpInfoGateway;
private final CorpInfoRepository corpInfoRepository;
private final DepartmentRepository departmentRepository;
private final UserRepository userRepository;
@DubboReference
private TenantFacade tenantFacade;
// @Autowired
@ -55,7 +61,14 @@ public class CorpInfoUpdateExe {
CorpInfoE corpInfoE = new CorpInfoE();
BeanUtils.copyProperties(corpInfoUpdateCmd, corpInfoE);
corpInfoGateway.changeCompanyName(corpInfoE);
DepartmentDO departmentDO = new DepartmentDO();
departmentDO.setName(corpInfoE.getCorpName());
departmentDO.setId(corpInfoE.getId());
departmentRepository.updateInfoById(departmentDO);
UserDO userDO = new UserDO();
userDO.setName(corpInfoE.getCorpName());
userDO.setId(corpInfoE.getId());
userRepository.updateUserName(userDO);
//删除redis数据
// zcloudRedisUtil.del(Const.REDIS_CORP_PREFIX+corpInfoUpdateCmd.getId());

View File

@ -61,12 +61,6 @@ public class UserAddExe {
@DubboReference
private ConfDictTreeFacade confDictTreeFacade;
// @Autowired
// private RedisTemplate<String, Object> redisTemplate;
// @DubboReference(check = false)
// private UserFacade userFacade;
// @DubboReference
// private RoleFacade roleFacade;
@Transactional(rollbackFor = Exception.class)
public boolean execute(UserAddCmd cmd) {

View File

@ -5,6 +5,7 @@ import com.zcloud.basic.info.domain.gateway.UserGateway;
import com.zcloud.gbscommon.utils.Const;
import com.zcloud.gbscommon.utils.ZcloudRedisUtil;
import lombok.AllArgsConstructor;
import org.junit.platform.commons.function.Try;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@ -26,8 +27,9 @@ public class UserRemoveExe {
@Transactional(rollbackFor = Exception.class)
public boolean execute(Long id) {
boolean res = userGateway.deletedUserById(id);
if(!res){
try {
userGateway.deletedUserById(id);
} catch (Exception e){
throw new BizException("删除失败");
}
// zcloudRedisUtil.del(Const.REDIS_USER_PREFIX+id);

View File

@ -1,6 +1,7 @@
package com.zcloud.basic.info.command;
import com.alibaba.cola.exception.BizException;
import com.jjb.saas.system.client.user.facade.UserFacade;
import com.zcloud.basic.info.domain.gateway.UserEmploymentLogGateway;
import com.zcloud.basic.info.domain.gateway.UserGateway;
import com.zcloud.basic.info.domain.model.UserE;
@ -13,6 +14,7 @@ import com.zcloud.basic.info.persistence.repository.UserRepository;
import com.zcloud.gbscommon.utils.Const;
import com.zcloud.gbscommon.utils.ZcloudRedisUtil;
import lombok.AllArgsConstructor;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@ -37,6 +39,8 @@ public class UserUpdateExe {
private final CorpInfoRepository corpInfoRepository;
// @Autowired
// private ZcloudRedisUtil zcloudRedisUtil;
@DubboReference
private UserFacade userFacade;
@Transactional(rollbackFor = Exception.class)
public void execute(UserUpdateCmd userUpdateCmd) {
@ -52,6 +56,7 @@ public class UserUpdateExe {
boolean res = false;
try {
res = userGateway.update(userE);
// userFacade.updatePassword()
// 保存履职记录
if (transferPositionFlag) {
UserEmploymentLogE userEmploymentLogE = new UserEmploymentLogE();
@ -72,5 +77,11 @@ public class UserUpdateExe {
//删除redis数据
// zcloudRedisUtil.del(Const.REDIS_USER_PREFIX+userUpdateCmd.getId());
}
@Transactional(rollbackFor = Exception.class)
public void executeChangePassword(Long id) {
userRepository.changePassword(id);
}
}

View File

@ -60,6 +60,7 @@ public class UserQueryExe {
* @return
*/
public MultiResponse<UserCO> executeListAll(UserQryCmd userQryCmd) {
Map<String, Object> params = PageQueryHelper.toHashMap(userQryCmd);
List<UserDO> imgFilesDOList = userRepository.listAll(params);
List<UserCO> imgFilesCOList = userCoConvertor.converDOsToCOs(imgFilesDOList);

View File

@ -34,6 +34,7 @@ public class CorpInfoServiceImpl implements CorpInfoServiceI {
// TODO 下面的sysUser废弃了后续写完写的执行器需要重新完善
private final UserAddExe userAddExe;
private final DepartmentAddExe departmentAddExe;
private final UserUpdateExe userUpdateExe;
// private final SysUserUpdateExe sysUserUpdateExe;
@Override
@ -76,7 +77,7 @@ public class CorpInfoServiceImpl implements CorpInfoServiceI {
@Override
public void changePassword(Long id) {
//TODO 通知GBS修改密码
// sysUserUpdateExe.changePassword(id);
userUpdateExe.executeChangePassword(id);
}
@Override

View File

@ -32,5 +32,6 @@ public class ImgFilesQryCmd extends Command {
private String eqImgFilesId;
private Integer eqType;
private String eqForeignKey;
private String inForeignKey;
}

View File

@ -26,7 +26,7 @@ public interface UserGateway {
/**
*
*/
Boolean deletedUserById(Long id);
void deletedUserById(Long id);
Boolean deletedUserByIds(Long[] id);

View File

@ -2,14 +2,13 @@ package com.zcloud.basic.info.domain.model;
import com.alibaba.cola.domain.Entity;
import com.jjb.saas.framework.domain.model.BaseE;
import io.swagger.annotations.ApiModelProperty;
import com.zcloud.gbscommon.utils.MD5;
import com.zcloud.gbscommon.utils.Sm2Util;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
/**
* web-domain
@ -160,8 +159,19 @@ public class CorpInfoE extends BaseE {
private Integer whetherActinogenFlag;
//是否涉及液氨制冷,1:是,0:否
private Integer whetherLiquidammoniaFlag;
// 父级租户id
private final Long parentTenantId = 1989259383784415232L;
// 默认密码
private final String defaultPassword = "Aa12345678";
// 密码
private String password;
public void initPassWord() throws Exception {
String publicKey = "0402df2195296d4062ac85ad766994d73e871b887e18efb9a9a06b4cebc72372869b7da6c347c129dee2b46a0f279ff066b01c76208c2a052af75977c722a2ccee";
String encrypt = Sm2Util.encryptHex(MD5.md5(defaultPassword), publicKey);
this.setPassword(encrypt);
}
}

View File

@ -60,6 +60,7 @@ public class DepartmentE extends BaseE {
public void initCorpInfo(Long corpInfoId, String corpName) {
this.setId(corpInfoId);
this.setCorpinfoId(corpInfoId);
this.setParentId(corpInfoId);
this.setName(corpName);

View File

@ -3,12 +3,14 @@ package com.zcloud.basic.info.domain.model;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.cola.dto.Response;
import com.alibaba.cola.exception.BizException;
import com.baomidou.mybatisplus.annotation.TableField;
import com.jjb.saas.framework.domain.model.BaseE;
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;
import com.zcloud.gbscommon.utils.Tools;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang.StringUtils;
import org.springframework.util.ObjectUtils;
@ -123,6 +125,8 @@ public class UserE extends BaseE {
//政治面貌名称
private String politicalAffiliationName;
//密码
private String password;
// 入职状态
private Integer employmentFlag;
@ -133,6 +137,7 @@ public class UserE extends BaseE {
userE.setTenantId(!ObjectUtils.isEmpty(userE.getTenantId())? userE.getTenantId() : tenantId);
userE.setCorpinfoId(!ObjectUtils.isEmpty(userE.getCorpinfoId())? userE.getCorpinfoId() : tenantId);
userE.setEmploymentFlag(1);
userE.setPassword("Aa@123456789");
}
public Response verifyUser(Long userCount) {
if (userCount > 0) {
@ -314,6 +319,7 @@ public class UserE extends BaseE {
}
public void initCorpInfo(CorpInfoE examTypeE, Long departmentId, Long corpInfoId) {
this.setId(corpInfoId);
this.setName(examTypeE.getCorpName());
this.setUsername(examTypeE.getCorpName());
this.setDepartmentId(departmentId);

View File

@ -1,5 +1,6 @@
package com.zcloud.basic.info.gatewayimpl;
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;
@ -44,15 +45,16 @@ public class CorpInfoGatewayImpl implements CorpInfoGateway {
if(StringUtils.isEmpty(d.getCorpinfoId())){
d.setCorpinfoId(Tools.get32UUID());
}
corpInfoRepository.save(d);
corpInfoRepository.saveCorp(d);
// 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报错解密失败
// 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();
@ -78,9 +80,12 @@ public class CorpInfoGatewayImpl implements CorpInfoGateway {
@Override
public void changeCompanyName(CorpInfoE corpInfoE) {
CorpInfoDO corpInfo = corpInfoRepository.getById(corpInfoE.getId());
corpInfo.setCorpName(corpInfoE.getCorpName());
corpInfoRepository.updateById(corpInfo);
// CorpInfoDO corpInfo = corpInfoRepository.getById(corpInfoE.getId());
// corpInfo.setCorpName(corpInfoE.getCorpName());
CorpInfoDO corpInfo = new CorpInfoDO();
BeanUtils.copyProperties(corpInfoE, corpInfo);
corpInfoRepository.updateCorpName(corpInfo);
// corpInfoRepository.updateById(corpInfo);
}
}

View File

@ -1,6 +1,7 @@
package com.zcloud.basic.info.gatewayimpl;
import com.alibaba.cola.dto.Response;
import com.jjb.saas.framework.auth.model.SSOUser;
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;
@ -48,12 +49,12 @@ public class DepartmentGatewayImpl implements DepartmentGateway {
}
departmentRepository.save(d);
SSOUser ssoUser = AuthContext.getCurrentUser();
System.out.println(ssoUser.getTenantId());
// 需要调用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页面看不到参数还没有待定
@ -66,7 +67,7 @@ public class DepartmentGatewayImpl implements DepartmentGateway {
public Boolean update(DepartmentE departmentE) {
DepartmentDO d = new DepartmentDO();
BeanUtils.copyProperties(departmentE, d);
departmentRepository.updateById(d);
departmentRepository.updateInfoById(d);
return true;
}

View File

@ -26,7 +26,7 @@ public class UserGatewayImpl implements UserGateway {
public Boolean add(UserE userE) {
UserDO d = new UserDO();
BeanUtils.copyProperties(userE, d);
userRepository.save(d);
userRepository.saveUser(d);
userE.setId(d.getId());
return true;
}
@ -40,12 +40,8 @@ public class UserGatewayImpl implements UserGateway {
}
@Override
public Boolean deletedUserById(Long id) {
UpdateWrapper<UserDO> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("id", id)
.eq("delete_enum", "FALSE")
.set("delete_enum", "TRUE");
return userRepository.update(updateWrapper);
public void deletedUserById(Long id) {
userRepository.deleteUserById(id);
}
@Override

View File

@ -1,6 +1,7 @@
package com.zcloud.basic.info.persistence.dataobject;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jjb.saas.framework.repository.basedo.BaseDO;
@ -227,6 +228,14 @@ public class CorpInfoDO extends BaseDO {
@ApiModelProperty(value = "是否涉及液氨制冷,1:是,0:否")
private Integer whetherLiquidammoniaFlag;
@ApiModelProperty(value = "上级租户id")
@TableField(exist = false)
private Long parentTenantId;
@ApiModelProperty(value = "密码")
@TableField(exist = false)
private String password;
}

View File

@ -126,6 +126,12 @@ public class UserDO extends BaseDO {
@ApiModelProperty(value = "入职状态")
private Integer employmentFlag;
//密码
@ApiModelProperty(value = "密码")
@TableField(exist = false)
private String password;
public UserDO(String userId) {
this.userId = userId;
}

View File

@ -17,5 +17,9 @@ public interface CorpInfoRepository extends BaseRepository<CorpInfoDO> {
PageResponse<CorpInfoDO> listPage(Map<String, Object> parmas);
Long getCorpCountByCorpName(String corpName);
void saveCorp(CorpInfoDO corpInfoDO);
void updateCorpName(CorpInfoDO corpInfo);
}

View File

@ -29,5 +29,8 @@ public interface DepartmentRepository extends BaseRepository<DepartmentDO> {
Long addCorpDepartment(DepartmentE departmentE);
List<DepartmentDO> listByCorpInfoId(Long corpInfoId);
void updateInfoById(DepartmentDO departmentDO);
}

View File

@ -17,5 +17,6 @@ public interface DepartmentSuperviseRepository extends BaseRepository<Department
PageResponse<DepartmentSuperviseDO> listPage(Map<String, Object> params);
List<Long> listBySuperviseDepartmentId(Map<String, Object> params);
}

View File

@ -2,10 +2,12 @@ package com.zcloud.basic.info.persistence.repository;
import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.PageResponse;
import com.baomidou.mybatisplus.core.injector.methods.UpdateById;
import com.jjb.saas.framework.repository.repo.BaseRepository;
import com.zcloud.basic.info.domain.model.CorpInfoE;
import com.zcloud.basic.info.domain.model.UserE;
import com.zcloud.basic.info.persistence.dataobject.UserDO;
import org.apache.catalina.User;
import java.util.List;
import java.util.Map;
@ -35,5 +37,16 @@ public interface UserRepository extends BaseRepository<UserDO> {
List<UserDO> listByCorpInfoId(Long corpInfoId);
void addCorpUser(UserE userE);
void saveUser(UserDO userDO);
void updateInfoById(UserDO userDO);
void deleteUserById(Long id);
void changePassword(Long id);
void updateUserName(UserDO userDO);
}

View File

@ -3,19 +3,30 @@ package com.zcloud.basic.info.persistence.repository.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
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.jjb.saas.system.client.tenant.facade.TenantFacade;
import com.jjb.saas.system.client.unit.facade.UnitFacade;
import com.jjb.saas.system.client.unit.request.OpeUnitAddCmd;
import com.jjb.saas.system.client.unit.request.OpeUnitUpdateCmd;
import com.jjb.saas.system.client.user.facade.UserFacade;
import com.jjb.saas.system.client.user.request.UserUpdateCmd;
import com.zcloud.basic.info.domain.enums.CorpTypeEnum;
import com.zcloud.basic.info.persistence.dataobject.CorpInfoDO;
import com.zcloud.basic.info.persistence.mapper.CorpInfoMapper;
import com.zcloud.basic.info.persistence.repository.CorpInfoRepository;
import com.zcloud.basic.info.utils.Query;
import com.zcloud.gbscommon.utils.MD5;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import lombok.RequiredArgsConstructor;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@ -31,6 +42,11 @@ import java.util.Map;
public class CorpInfoRepositoryImpl extends BaseRepositoryImpl<CorpInfoMapper, CorpInfoDO> implements CorpInfoRepository {
private final CorpInfoMapper corpInfoMapper;
@DubboReference
private UnitFacade unitFacade;
@DubboReference
private UserFacade userFacade;
@Override
public PageResponse<CorpInfoDO> listPage(Map<String, Object> params) {
IPage<CorpInfoDO> iPage = new Query<CorpInfoDO>().getPage(params);
@ -50,5 +66,41 @@ public class CorpInfoRepositoryImpl extends BaseRepositoryImpl<CorpInfoMapper, C
queryWrapper.eq("corp_name", corpName);
return corpInfoMapper.selectCount(queryWrapper);
}
@Override
public void saveCorp(CorpInfoDO corpInfoDO) {
OpeUnitAddCmd ouac = new OpeUnitAddCmd();
ouac.setTenantName(corpInfoDO.getCorpName());
ouac.setTenantTypeId(1989262038388776960L);
// LocalDate
ouac.setEffectiveDate(LocalDate.of(2099, 12, 31));
ouac.setAccount(corpInfoDO.getCorpName());
ouac.setTenantId(corpInfoDO.getParentTenantId());
ouac.setPassword(corpInfoDO.getPassword());
try {
SingleResponse<Long> corpId = unitFacade.add(ouac);
corpInfoDO.setId(corpId.getData());
} catch (Exception e){
e.printStackTrace();
}
save(corpInfoDO);
}
@Override
public void updateCorpName(CorpInfoDO corpInfo) {
UpdateWrapper<CorpInfoDO> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("id", corpInfo.getId());
updateWrapper.set("corp_name", corpInfo.getCorpName());
update(updateWrapper);
OpeUnitUpdateCmd ouac = new OpeUnitUpdateCmd();
ouac.setId(corpInfo.getId());
ouac.setTenantName(corpInfo.getCorpName());
ouac.setAccount(corpInfo.getCorpName());
ouac.setTenantTypeId(1989262038388776960L);
unitFacade.update(ouac);
}
}

View File

@ -4,11 +4,14 @@ import cn.hutool.core.collection.CollUtil;
import com.alibaba.cola.dto.PageResponse;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
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.jjb.saas.system.client.dept.facade.DeptFacade;
import com.jjb.saas.system.client.dept.request.DeptUpdateCmd;
import com.zcloud.basic.info.domain.model.DepartmentE;
import com.zcloud.basic.info.persistence.dataobject.CorpInfoDO;
import com.zcloud.basic.info.persistence.dataobject.DepartmentDO;
@ -18,6 +21,7 @@ import com.zcloud.basic.info.utils.Query;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.gbscommon.utils.Tools;
import lombok.RequiredArgsConstructor;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@ -33,6 +37,8 @@ import java.util.*;
@RequiredArgsConstructor
public class DepartmentRepositoryImpl extends BaseRepositoryImpl<DepartmentMapper, DepartmentDO> implements DepartmentRepository {
private final DepartmentMapper departmentMapper;
@DubboReference
private DeptFacade deptFacade;
@Override
public PageResponse<DepartmentDO> listPage(Map<String, Object> parmas) {
@ -100,5 +106,18 @@ public class DepartmentRepositoryImpl extends BaseRepositoryImpl<DepartmentMappe
queryWrapper.eq("delete_enum", "FALSE");
return list(queryWrapper);
}
@Override
public void updateInfoById(DepartmentDO departmentDO) {
updateById(departmentDO);
if (!ObjectUtils.isEmpty(departmentDO.getName())){
DeptUpdateCmd deptUpdateCmd = new DeptUpdateCmd();
deptUpdateCmd.setId(departmentDO.getId());
deptUpdateCmd.setDeptName(departmentDO.getName());
deptUpdateCmd.setVersion(1);
deptFacade.update(deptUpdateCmd);
}
}
}

View File

@ -46,5 +46,6 @@ public class DepartmentSuperviseRepositoryImpl extends BaseRepositoryImpl<Depart
return departmentSuperviseDOS.stream().map(DepartmentSuperviseDO::getDepartmentId).collect(Collectors.toList());
}
}

View File

@ -3,11 +3,24 @@ package com.zcloud.basic.info.persistence.repository.impl;
import cn.hutool.core.collection.CollUtil;
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.alibaba.cola.exception.BizException;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
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.jjb.saas.system.client.dept.request.DeptUpdateCmd;
import com.jjb.saas.system.client.role.facade.RoleFacade;
import com.jjb.saas.system.client.role.response.RoleCO;
import com.jjb.saas.system.client.user.facade.UserFacade;
import com.jjb.saas.system.client.user.request.FacadeUserAddCmd;
import com.jjb.saas.system.client.user.request.RoleDeptAddCmd;
import com.jjb.saas.system.client.user.request.UserAddCmd;
import com.jjb.saas.system.client.user.request.UserUpdateCmd;
import com.zcloud.basic.info.domain.model.CorpInfoE;
import com.zcloud.basic.info.domain.model.UserE;
import com.zcloud.basic.info.persistence.dataobject.DepartmentDO;
@ -19,8 +32,11 @@ import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.gbscommon.utils.Query;
import com.zcloud.gbscommon.utils.Tools;
import lombok.RequiredArgsConstructor;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.BeanUtils;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import java.util.Collections;
import java.util.List;
@ -28,6 +44,7 @@ import java.util.Map;
/**
* web-infrastructure
*
* @Author zhangyue
* @Date 2025-11-04 14:07:37
*/
@ -36,6 +53,11 @@ import java.util.Map;
public class UserRepositoryImpl extends BaseRepositoryImpl<UserMapper, UserDO> implements UserRepository {
private final UserMapper userMapper;
@DubboReference(check = false)
private UserFacade userFacade;
@DubboReference(check = false)
private RoleFacade roleFacade;
@Override
public PageResponse<UserDO> listPage(Map<String, Object> params) {
IPage<UserDO> iPage = new Query<UserDO>().getPage(params);
@ -49,6 +71,10 @@ public class UserRepositoryImpl extends BaseRepositoryImpl<UserMapper, UserDO> i
@Override
public List<UserDO> listAll(Map<String, Object> params) {
if (!ObjectUtils.isEmpty(params.get("corpinfoId"))) {
SSOUser ssoUser = AuthContext.getCurrentUser();
params.put("corpinfoId", ssoUser.getTenantId());
}
return userMapper.selectListAll(params);
}
@ -132,5 +158,61 @@ public class UserRepositoryImpl extends BaseRepositoryImpl<UserMapper, UserDO> i
save(userDo);
userE.setId(userDo.getId());
}
@Override
public void saveUser(UserDO userDO) {
UserAddCmd userAddCmd = new UserAddCmd();
// MultiResponse<RoleCO> roleCOList = roleFacade.listRoles();
userAddCmd.setAccount(userDO.getUsername());
userAddCmd.setName(userDO.getName());
RoleDeptAddCmd roleDeptAddCmd = new RoleDeptAddCmd();
roleDeptAddCmd.setRoleId(userDO.getRoleId());
roleDeptAddCmd.setDeptId(userDO.getDepartmentId());
List<RoleDeptAddCmd> roleDeptAddCmdList = Collections.singletonList(roleDeptAddCmd);
userAddCmd.setRoleDepts(roleDeptAddCmdList);
Response userid = userFacade.add(userAddCmd);
save(userDO);
}
@Override
public void updateInfoById(UserDO userDO) {
updateById(userDO);
UserUpdateCmd userUpdateCmd = new UserUpdateCmd();
userUpdateCmd.setId(userDO.getId());
userUpdateCmd.setAccount(userDO.getUsername());
userUpdateCmd.setName(userDO.getName());
userFacade.update(userUpdateCmd);
}
@Override
public void deleteUserById(Long id) {
UpdateWrapper<UserDO> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("id", id)
.eq("delete_enum", "FALSE")
.set("delete_enum", "TRUE");
update(updateWrapper);
userFacade.delete(id);
}
@Override
public void changePassword(Long id) {
// TODO 重置用户密码
// userFacade.update
}
@Override
public void updateUserName(UserDO userDO) {
updateById(userDO);
if (!ObjectUtils.isEmpty(userDO.getName())){
UserUpdateCmd userUpdateCmd = new UserUpdateCmd();
userUpdateCmd.setId(userDO.getId());
userUpdateCmd.setName(userDO.getName());
userUpdateCmd.setAccount(userDO.getName());
userFacade.update(userUpdateCmd);
}
}
}