106 lines
4.0 KiB
Java
106 lines
4.0 KiB
Java
package com.engine.salary.service.auth;
|
|
|
|
import com.engine.common.util.ServiceUtil;
|
|
import com.engine.core.impl.Service;
|
|
import com.engine.hrmelog.entity.dto.LoggerContext;
|
|
import com.engine.salary.config.SalaryElogConfig;
|
|
import com.engine.salary.constant.SalaryDefaultTenantConstant;
|
|
import com.engine.salary.entity.auth.param.AuthMemberSaveParam;
|
|
import com.engine.salary.entity.auth.po.AuthMemberPO;
|
|
import com.engine.salary.entity.auth.po.AuthRolePO;
|
|
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
|
|
import com.engine.salary.enums.OperateTypeEnum;
|
|
import com.engine.salary.exception.SalaryRunTimeException;
|
|
import com.engine.salary.mapper.auth.AuthMemberMapper;
|
|
import com.engine.salary.mapper.auth.AuthRoleMapper;
|
|
import com.engine.salary.service.TaxAgentService;
|
|
import com.engine.salary.service.impl.TaxAgentServiceImpl;
|
|
import com.engine.salary.util.SalaryI18nUtil;
|
|
import com.engine.salary.util.db.IdGenerator;
|
|
import com.engine.salary.util.db.MapperProxyFactory;
|
|
import weaver.hrm.User;
|
|
|
|
import java.util.Collections;
|
|
import java.util.Date;
|
|
|
|
public class AuthMemberServiceImpl extends Service implements AuthMemberService {
|
|
|
|
|
|
private AuthMemberMapper getAuthMemberMapper() {
|
|
return MapperProxyFactory.getProxy(AuthMemberMapper.class);
|
|
}
|
|
|
|
private AuthRoleMapper getAuthRoleMapper() {
|
|
return MapperProxyFactory.getProxy(AuthRoleMapper.class);
|
|
}
|
|
|
|
|
|
private TaxAgentService getTaxAgentService(User user) {
|
|
return ServiceUtil.getService(TaxAgentServiceImpl.class, user);
|
|
}
|
|
|
|
|
|
@Override
|
|
public Long saveMember(AuthMemberSaveParam param) {
|
|
|
|
AuthRolePO rolePO = getAuthRoleMapper().getById(param.getRoleId());
|
|
if (rolePO == null) {
|
|
throw new SalaryRunTimeException("角色不存在!");
|
|
}
|
|
|
|
|
|
Date now = new Date();
|
|
AuthMemberPO po = AuthMemberPO.builder()
|
|
.id(IdGenerator.generate())
|
|
.targetId(param.getTargetId())
|
|
.targetType(param.getTargetType())
|
|
.formula(param.getFormula())
|
|
.creator((long) user.getUID())
|
|
.createTime(now)
|
|
.updateTime(now)
|
|
.deleteType(0)
|
|
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
|
|
.build();
|
|
getAuthMemberMapper().insertIgnoreNull(po);
|
|
|
|
LoggerContext<TaxAgentPO> loggerContext = new LoggerContext<>();
|
|
loggerContext.setUser(user);
|
|
loggerContext.setTargetId(rolePO.getTaxAgentId() + "");
|
|
loggerContext.setTargetName(rolePO.getName() + "成员:" + po.getId());
|
|
loggerContext.setOperateType(OperateTypeEnum.ADD.getValue());
|
|
loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "新增成员"));
|
|
loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "新增成员"));
|
|
loggerContext.setNewValues(po);
|
|
SalaryElogConfig.taxAgentLoggerTemplate.write(loggerContext);
|
|
|
|
|
|
return po.getId();
|
|
}
|
|
|
|
@Override
|
|
public void deleteMember(Long id) {
|
|
AuthMemberPO po = getAuthMemberMapper().getById(id);
|
|
if (po == null) {
|
|
throw new SalaryRunTimeException("成员不存在!");
|
|
}
|
|
|
|
getAuthMemberMapper().deleteByIds(Collections.singleton(id));
|
|
|
|
AuthRolePO rolePO = getAuthRoleMapper().getById(po.getRoleId());
|
|
LoggerContext<TaxAgentPO> loggerContext = new LoggerContext<>();
|
|
loggerContext.setUser(user);
|
|
loggerContext.setTargetId(rolePO.getTaxAgentId() + "");
|
|
loggerContext.setTargetName(rolePO.getName() + "成员:" + po.getId());
|
|
loggerContext.setOperateType(OperateTypeEnum.DELETE.getValue());
|
|
loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "删除成员"));
|
|
loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "删除成员"));
|
|
loggerContext.setNewValues(po);
|
|
SalaryElogConfig.taxAgentLoggerTemplate.write(loggerContext);
|
|
}
|
|
|
|
@Override
|
|
public void syncMember(Long roleId) {
|
|
|
|
}
|
|
}
|