发表于: 2020-04-15 23:15:39

1 1349


今天完成的事:


在师兄帮助下   完成角色添加的模块

role角色表


module权限表

rolemodule角色权限表


//新增角色
@ResponseBody
@RequestMapping(method = RequestMethod.POST)
public void batch(String roleName, List<Integer> moduleIdList) {

//  新建角色返回ID
   Integer roleId = roleService.addRole(roleName);

   //  根据传来的模块id,生成角色模块中间表的list
   List<rolemodule> rolemoduleList = new ArrayList<>();

   for (Integer moduleId : moduleIdList) {
rolemodule rolemodule = new rolemodule();
       rolemodule.setRoleId(roleId);
       rolemodule.setModuleId(moduleId);
       rolemoduleList.add(rolemodule);
   }
//  最后 批量添加关联关系
   rolemoduleService.batch(rolemoduleList);
}

其中涉及到了两个方法

1.插入姓名 返回Id

//添加角色 返回id
public int addRole(String roleName) {
role role1 = new role();
       rm.addRole(roleName);
   return  role1.getRoleId();

2.批量添加角色模块表

//批量插入实现
public boolean batch(List<rolemodule> rolemoduleList){

return  rolemoduleMapper.batch(rolemoduleList);
<insert id="batch">
insert into rolemodule (id,role_id,module_id)
values
<foreach collection="list" item="item"  separator=",">
   (null,#{item.roleId,jdbcType=BIGINT},#{item.moduleId,jdbcType=BIGINT})
</foreach>
</insert>


更改角色及权限  

//    编辑角色
   @ResponseBody
   @RequestMapping(value = "putRole",method = RequestMethod.POST)
public void batch(String roleName,Integer roleId, List<Integer> moduleIdList) {

//  更改角色
       roleService.putRole(roleName,roleId);

       //  根据传来的模块id,生成角色模块中间表的list
       List<rolemodule> rolemoduleList = new ArrayList<>();

       for (Integer moduleId : moduleIdList) {
rolemodule rolemodule = new rolemodule();
           rolemodule.setRoleId(roleId);
           rolemodule.setModuleId(moduleId);
           rolemoduleList.add(rolemodule);
       }
//  最后 批量添加关联关系
       rolemoduleService.batch(rolemoduleList);
   }

涉及两个方法

1.更改角色

//编辑角色
boolean updateRole(String roleName,Integer roleId);
<update id="updateRole" parameterType="java.lang.String">
       update role set role_name = #{roleName,jdbcType=VARCHAR} where role_id=#{roleId,jdbcType=BIGINT}
</update>

2.批量添加

同上



最近发现我之前的service层有问题


我的service都实现了上层dao接口


这样就把方法限制死了

其实不用实现的  直接@autowired调用就行


还能灵活的修改返回值  插入其他代码  像下图这样

@Service
public class bannerService{

@Autowired
   bannerMapper bm;


   public List<banner> searchAll() {
return bm.searchAll();
   }

public List<banner> search(Integer state, String createBy) {
return bm.search(state,createBy);
   }

public int addBanner(banner banner) {
return bm.addBanner(banner);
   }

public boolean putUrlAndPic(banner banner) {
return bm.putUrlAndPic(banner);
   }

public boolean putBState(banner banner) {
return bm.putBState(banner);
   }

public boolean deleteId(Integer id) {
return bm.deleteId(id);
   }
}



项目的接口基本都写完了,就是还没测试是否都能查询数据


而且现在看看  之前写的有些地方需要优化  


明天计划的事:


修改项目中的错误

测试项目


返回列表 返回列表
评论

    分享到