diff --git a/src/com/engine/salary/entity/auth/param/AuthMemberSaveParam.java b/src/com/engine/salary/entity/auth/param/AuthMemberSaveParam.java index 4e8f67351..feb0d2fde 100644 --- a/src/com/engine/salary/entity/auth/param/AuthMemberSaveParam.java +++ b/src/com/engine/salary/entity/auth/param/AuthMemberSaveParam.java @@ -16,10 +16,7 @@ public class AuthMemberSaveParam { private Integer targetType; - private Long targetId; + private String targetId; - /** - * 表达式,为sql预留 - */ - private String formula; + private String targetName; } \ No newline at end of file diff --git a/src/com/engine/salary/entity/auth/po/AuthMemberPO.java b/src/com/engine/salary/entity/auth/po/AuthMemberPO.java index b7e6ed055..a0c7b4a6d 100644 --- a/src/com/engine/salary/entity/auth/po/AuthMemberPO.java +++ b/src/com/engine/salary/entity/auth/po/AuthMemberPO.java @@ -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集合 diff --git a/src/com/engine/salary/entity/auth/po/AuthRoleEmpPO.java b/src/com/engine/salary/entity/auth/po/AuthRoleEmpPO.java new file mode 100644 index 000000000..f3963f3f7 --- /dev/null +++ b/src/com/engine/salary/entity/auth/po/AuthRoleEmpPO.java @@ -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 ids; + +} \ No newline at end of file diff --git a/src/com/engine/salary/entity/auth/po/AuthRolePO.java b/src/com/engine/salary/entity/auth/po/AuthRolePO.java index 9ca15d1e5..e2c5cd39d 100644 --- a/src/com/engine/salary/entity/auth/po/AuthRolePO.java +++ b/src/com/engine/salary/entity/auth/po/AuthRolePO.java @@ -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集合 diff --git a/src/com/engine/salary/mapper/auth/AuthMemberMapper.xml b/src/com/engine/salary/mapper/auth/AuthMemberMapper.xml index 24adb81ac..c9ea254ce 100644 --- a/src/com/engine/salary/mapper/auth/AuthMemberMapper.xml +++ b/src/com/engine/salary/mapper/auth/AuthMemberMapper.xml @@ -6,7 +6,7 @@ - + @@ -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 @@ AND target_id = #{targetId} - - AND formula = #{formula} + + AND target_name = #{targetName} AND creator = #{creator} @@ -107,8 +107,8 @@ target_id, - - formula, + + target_name, creator, @@ -139,8 +139,8 @@ #{targetId}, - - #{formula}, + + #{targetName}, #{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 @@ target_id=#{targetId}, - - formula=#{formula}, + + target_name=#{targetName}, creator=#{creator}, diff --git a/src/com/engine/salary/mapper/auth/AuthRoleEmpMapper.java b/src/com/engine/salary/mapper/auth/AuthRoleEmpMapper.java new file mode 100644 index 000000000..2bdb76754 --- /dev/null +++ b/src/com/engine/salary/mapper/auth/AuthRoleEmpMapper.java @@ -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 listAll(); + + /** + * 条件查询 + * + * @return 返回集合,没有返回空List + */ + List 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 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 ids); + + /** + * 根据角色id删除 + * @param roleId roleId + */ + void deleteByRoleId(Long roleId); + +} \ No newline at end of file diff --git a/src/com/engine/salary/service/auth/AuthMemberServiceImpl.java b/src/com/engine/salary/service/auth/AuthMemberServiceImpl.java index 5c68944ff..8a15ea290 100644 --- a/src/com/engine/salary/service/auth/AuthMemberServiceImpl.java +++ b/src/com/engine/salary/service/auth/AuthMemberServiceImpl.java @@ -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 members = getAuthMemberMapper().listSome(AuthMemberPO.builder().roleId(roleId).build()); + for (AuthMemberPO member : members) { + member.getTargetId(); + + + } + + + //2、获取人员 + + //3、更新成员关系 + + getAuthRoleEmpMapper().deleteByRoleId(roleId); + } }