Просмотр исходного кода

[角色权限保存优化][修改]:批量保存

release_toaliyun_real
Stormeye Wu 7 лет назад
Родитель
Сommit
1c436bf25f
3 измененных файлов: 20 добавлений и 5 удалений
  1. +2
    -2
      mallinkService/src/main/java/com/iformall/mapper/MallRolePermissionMapper.java
  2. +6
    -1
      mallinkService/src/main/java/com/iformall/service/impl/MallRolePermissionServiceImpl.java
  3. +12
    -2
      mallinkService/src/main/resources/mapper/MallRolePermissionMapper.xml

+ 2
- 2
mallinkService/src/main/java/com/iformall/mapper/MallRolePermissionMapper.java Просмотреть файл

@@ -8,8 +8,8 @@ import java.util.List;
public interface MallRolePermissionMapper extends CommonMapper<MallRolePermission, String> {

List<MallRolePermission> findList(MallRolePermission mallUserRolePermission);
int insertBatch(List<MallRolePermission> list);

void deleteByRoleId(Long roleId);


+ 6
- 1
mallinkService/src/main/java/com/iformall/service/impl/MallRolePermissionServiceImpl.java Просмотреть файл

@@ -2,8 +2,10 @@ package com.iformall.service.impl;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.iformall.common.ErrorCode;
import com.iformall.common.IdWorker;
import com.iformall.domain.po.MallRolePermission;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.MallRolePermissionMapper;
import com.iformall.service.MallRolePermissionService;
import org.slf4j.Logger;
@@ -71,7 +73,10 @@ public class MallRolePermissionServiceImpl implements MallRolePermissionService
permission.setRoleId(roleId);
mallRolePermissionList.add(permission);
}
mallUserRolePermissionMapper.insertList(mallRolePermissionList);
int count = mallUserRolePermissionMapper.insertBatch(mallRolePermissionList);
if(count != mallRolePermissionList.size()) {
throw new MallinkException(ErrorCode.DB_FAIL);
}
}

public void deleteByRoleId(Long roleId) {


+ 12
- 2
mallinkService/src/main/resources/mapper/MallRolePermissionMapper.xml Просмотреть файл

@@ -4,8 +4,8 @@
<resultMap id="BaseResultMap" type="com.iformall.domain.po.MallRolePermission">
<id column="id" jdbcType="BIGINT" property="id"/>
<result column="tenant_id" jdbcType="VARCHAR" property="tenantId"/>
<result column="permission_id" jdbcType="VARCHAR" property="permissionId"/>
<result column="role_id" jdbcType="VARCHAR" property="roleId"/>
<result column="permission_id" jdbcType="BIGINT" property="permissionId"/>
<result column="role_id" jdbcType="BIGINT" property="roleId"/>
</resultMap>

<sql id="allColumns">
@@ -46,6 +46,16 @@
<include refid="dynamicWhereConditions"/>
</select>

<insert id="insertBatch" parameterType="java.util.List">
insert into mall_role_permission (id, tenant_id, permission_id, role_id) values
<foreach collection="list" item="item" index="index" separator=",">
(#{item.id,jdbcType=BIGINT},
#{item.tenantId,jdbcType=VARCHAR},
#{item.permissionId,jdbcType=BIGINT},
#{item.roleId,jdbcType=BIGINT})
</foreach>
</insert>


<delete id="deleteByRoleId">
delete from mall_role_permission where role_id=#{roleId}


Загрузка…
Отмена
Сохранить