成员表达式变更

This commit is contained in:
钱涛 2024-07-26 14:30:14 +08:00
parent 4543539206
commit e30ae5a2a1
7 changed files with 209 additions and 25 deletions

View File

@ -16,10 +16,7 @@ public class AuthMemberSaveParam {
private Integer targetType;
private Long targetId;
private String targetId;
/**
* 表达式为sql预留
*/
private String formula;
private String targetName;
}

View File

@ -33,31 +33,36 @@ public class AuthMemberPO {
* 对象id
*/
@ElogTransform( name="对象id" )
private Long targetId;
private String targetId;
/**
* 表达式
* 对象
*/
@ElogTransform( name="表达式" )
private String formula;
@ElogTransform( name="对象显示名" )
private String targetName;
/**
* 创建人
*/
@ElogTransform( name="创建人" )
private Long creator;
/**
* 创建时间
*/
@ElogTransform( name="创建时间" )
private Date createTime;
/**
* 更新时间
*/
@ElogTransform( name="更新时间" )
private Date updateTime;
/**
* 是否已删除0未删除1已删除
*/
@ElogTransform( name="是否已删除。0未删除、1已删除" )
private Integer deleteType;
/**
* 租户ID
*/
@ElogTransform( name="租户ID" )
private String tenantKey;
//主键id集合

View File

@ -0,0 +1,61 @@
package com.engine.salary.entity.auth.po;
import com.engine.hrmelog.annotation.ElogTransform;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Collection;
import java.util.Date;
/**
* 角色
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AuthRoleEmpPO {
@ElogTransform(name = "")
private Long id;
/**
* 角色id
*/
@ElogTransform(name = "角色id")
private Long roleId;
/**
* 人员id
*/
@ElogTransform(name = "人员id")
private Long employeeId;
/**
* 创建人
*/
@ElogTransform(name = "创建人")
private Long creator;
/**
* 创建时间
*/
@ElogTransform(name = "创建时间")
private Date createTime;
/**
* 更新时间
*/
@ElogTransform(name = "更新时间")
private Date updateTime;
/**
* 是否已删除0未删除1已删除
*/
@ElogTransform(name = "是否已删除。0未删除、1已删除")
private Integer deleteType;
/**
* 租户ID
*/
@ElogTransform(name = "租户ID")
private String tenantKey;
//主键id集合
private Collection<Long> ids;
}

View File

@ -16,38 +16,49 @@ import java.util.Date;
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ElogTransform( name="角色" )
@ElogTransform(name = "角色")
public class AuthRolePO {
private Long id;
/**
* 名称
*/
@ElogTransform( name="名称" )
@ElogTransform(name = "名称")
private String name;
/**
* 个税扣缴义务人id
*/
@ElogTransform( name="个税扣缴义务人id" )
@ElogTransform(name = "个税扣缴义务人id")
private Long taxAgentId;
/**
* 创建人
*/
@ElogTransform(name = "创建人")
private Long creator;
/**
* 创建时间
*/
@ElogTransform(name = "创建时间")
private Date createTime;
/**
* 更新时间
*/
@ElogTransform(name = "更新时间")
private Date updateTime;
/**
* 是否已删除0未删除1已删除
*/
@ElogTransform(name = "是否已删除。0未删除、1已删除")
private Integer deleteType;
/**
* 租户ID
*/
@ElogTransform(name = "租户ID")
private String tenantKey;
//主键id集合

View File

@ -6,7 +6,7 @@
<result column="role_id" property="roleId" />
<result column="target_type" property="targetType" />
<result column="target_id" property="targetId" />
<result column="formula" property="formula" />
<result column="target_name" property="targetName" />
<result column="creator" property="creator" />
<result column="create_time" property="createTime" />
<result column="update_time" property="updateTime" />
@ -20,7 +20,7 @@
, t.role_id
, t.target_type
, t.target_id
, t.formula
, t.target_name
, t.creator
, t.create_time
, t.update_time
@ -62,8 +62,8 @@
<if test="targetId != null">
AND target_id = #{targetId}
</if>
<if test="formula != null">
AND formula = #{formula}
<if test="targetName != null">
AND target_name = #{targetName}
</if>
<if test="creator != null">
AND creator = #{creator}
@ -107,8 +107,8 @@
<if test="targetId != null">
target_id,
</if>
<if test="formula != null">
formula,
<if test="targetName != null">
target_name,
</if>
<if test="creator != null">
creator,
@ -139,8 +139,8 @@
<if test="targetId != null" >
#{targetId},
</if>
<if test="formula != null" >
#{formula},
<if test="targetName != null" >
#{targetName},
</if>
<if test="creator != null" >
#{creator},
@ -167,7 +167,7 @@
role_id=#{roleId},
target_type=#{targetType},
target_id=#{targetId},
formula=#{formula},
target_name=#{targetName},
creator=#{creator},
create_time=#{createTime},
update_time=#{updateTime},
@ -191,8 +191,8 @@
<if test="targetId != null" >
target_id=#{targetId},
</if>
<if test="formula != null" >
formula=#{formula},
<if test="targetName != null" >
target_name=#{targetName},
</if>
<if test="creator != null" >
creator=#{creator},

View File

@ -0,0 +1,85 @@
package com.engine.salary.mapper.auth;
import com.engine.salary.entity.auth.po.AuthRoleEmpPO;
import org.apache.ibatis.annotations.Param;
import java.util.Collection;
import java.util.List;
public interface AuthRoleEmpMapper {
/**
* 查询所有记录
*
* @return 返回集合没有返回空List
*/
List<AuthRoleEmpPO> listAll();
/**
* 条件查询
*
* @return 返回集合没有返回空List
*/
List<AuthRoleEmpPO> listSome(AuthRoleEmpPO authRoleEmp);
/**
* 根据主键查询
*
* @param id 主键
* @return 返回记录没有返回null
*/
AuthRoleEmpPO getById(Long id);
/**
* 新增忽略null字段
*
* @param authRoleEmp 新增的记录
* @return 返回影响行数
*/
int insertIgnoreNull(AuthRoleEmpPO authRoleEmp);
/**
* 批量插入
*
* @param authRoleEmp
*/
void batchInsert(@Param("collection") List<AuthRoleEmpPO> authRoleEmp);
/**
* 修改修改所有字段
*
* @param authRoleEmp 修改的记录
* @return 返回影响行数
*/
int update(AuthRoleEmpPO authRoleEmp);
/**
* 修改忽略null字段
*
* @param authRoleEmp 修改的记录
* @return 返回影响行数
*/
int updateIgnoreNull(AuthRoleEmpPO authRoleEmp);
/**
* 删除记录
*
* @param authRoleEmp 待删除的记录
* @return 返回影响行数
*/
int delete(AuthRoleEmpPO authRoleEmp);
/**
* 批量删除记录
* @param ids 主键id集合
*/
void deleteByIds(@Param("ids") Collection<Long> ids);
/**
* 根据角色id删除
* @param roleId roleId
*/
void deleteByRoleId(Long roleId);
}

View File

@ -12,6 +12,7 @@ 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.AuthRoleEmpMapper;
import com.engine.salary.mapper.auth.AuthRoleMapper;
import com.engine.salary.service.TaxAgentService;
import com.engine.salary.service.impl.TaxAgentServiceImpl;
@ -22,6 +23,7 @@ import weaver.hrm.User;
import java.util.Collections;
import java.util.Date;
import java.util.List;
public class AuthMemberServiceImpl extends Service implements AuthMemberService {
@ -34,6 +36,10 @@ public class AuthMemberServiceImpl extends Service implements AuthMemberService
return MapperProxyFactory.getProxy(AuthRoleMapper.class);
}
private AuthRoleEmpMapper getAuthRoleEmpMapper() {
return MapperProxyFactory.getProxy(AuthRoleEmpMapper.class);
}
private TaxAgentService getTaxAgentService(User user) {
return ServiceUtil.getService(TaxAgentServiceImpl.class, user);
@ -48,13 +54,12 @@ public class AuthMemberServiceImpl extends Service implements AuthMemberService
throw new SalaryRunTimeException("角色不存在!");
}
Date now = new Date();
AuthMemberPO po = AuthMemberPO.builder()
.id(IdGenerator.generate())
.targetId(param.getTargetId())
.targetType(param.getTargetType())
.formula(param.getFormula())
.targetName(param.getTargetName())
.creator((long) user.getUID())
.createTime(now)
.updateTime(now)
@ -100,6 +105,26 @@ public class AuthMemberServiceImpl extends Service implements AuthMemberService
@Override
public void syncMember(Long roleId) {
AuthRolePO rolePO = getAuthRoleMapper().getById(roleId);
if (rolePO == null) {
throw new SalaryRunTimeException("角色不存在!");
}
//1获取成员
List<AuthMemberPO> members = getAuthMemberMapper().listSome(AuthMemberPO.builder().roleId(roleId).build());
for (AuthMemberPO member : members) {
member.getTargetId();
}
//2获取人员
//3更新成员关系
getAuthRoleEmpMapper().deleteByRoleId(roleId);
}
}