Jelajahi Sumber

1.控制台/系统管理/角色配置 没有批量配置角色 增加多选框,批量修改角色权限

wuhp 1 tahun lalu
induk
melakukan
c8f56681f8

+ 25 - 0
src/main/java/com/ydtech/modules/admin/controller/kzt/KZTRoleController.java

@@ -202,6 +202,31 @@ public class KZTRoleController extends BaseController {
         return HttpResult.ok("保存成功");
     }
 
+    /**
+     *  @version
+     *  @author: whp
+     *  @Date: 2024/10/10
+     *  @Description:
+     */
+    @PostMapping(value = "/saveBatchUserRoleKzt")
+    @ApiOperation(value = "批量保存控制台用户角色信息")
+    public HttpResult saveBatchUserRoleKzt(@RequestBody SysUserRoleVo sysUserRoleVo) {
+        List<String> userIds = sysUserRoleVo.getUserIds();
+        String roleId = sysUserRoleVo.getRoleId();
+        if (userIds.isEmpty()) {
+            throw new SystemException("用戶id不能为空!!");
+        }
+        if (StringUtils.isBlank(roleId)) {
+            throw new SystemException("角色id不能为空!!");
+        }
+        try{
+            sysUserRoleKztService.saveBatchUserRoleKzt(userIds,roleId,"2");
+        }catch(Exception e){
+            return HttpResult.error("保存失败");
+        }
+        return HttpResult.ok("保存成功");
+    }
+
     /**
      *  @version
      *  @author: hxl

+ 2 - 0
src/main/java/com/ydtech/modules/admin/dao/SysUserRoleKztMapper.java

@@ -33,6 +33,8 @@ public interface SysUserRoleKztMapper extends BaseMapper<SysUserRoleKzt> {
     Page<SysUser> queryPageByParam(@Param("page") Page<SysUser> page,@Param("vo") KZTUserQueryDto kZTUserQueryDto);
 
     List<SysMenu> findMenuIdsByRoleId(Long roleId, String sysType);
+
+    void deleteBatcgByUserId(List<String> userIds, String number);
 }
 
 

+ 5 - 0
src/main/java/com/ydtech/modules/admin/model/vo/SysUserRoleVo.java

@@ -5,6 +5,8 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.util.List;
+
 @Data
 @ApiModel
 public class SysUserRoleVo {
@@ -27,4 +29,7 @@ public class SysUserRoleVo {
     @ApiModelProperty(value = "拨号权限密码")
     private String dialPassWord;
 
+    @ApiModelProperty(value = "用户ids")
+    private List<String> userIds;
+
 }

+ 9 - 0
src/main/java/com/ydtech/modules/admin/service/SysUserRoleKztService.java

@@ -6,6 +6,8 @@ import com.ydtech.modules.admin.model.SysUserRoleKzt;
 import com.ydtech.modules.admin.model.dto.KZTUserQueryDto;
 import com.ydtech.modules.order.entity.BasePageResult;
 
+import java.util.List;
+
 /**
 * @author Administrator
 * @description 针对表【sys_user_role_kzt(控制台用户关联角色)】的数据库操作Service
@@ -33,4 +35,11 @@ public interface SysUserRoleKztService extends IService<SysUserRoleKzt> {
      *  @Description: 通过机构id查询已授权的用户表
      */
     BasePageResult<SysUser> queryPageByParam(KZTUserQueryDto kZTUserQueryDto);
+    /**
+     *  @version
+     *  @author: whp
+     *  @Date: 2024/10/10
+     *  @Description:  控制台批量配置角色
+     */
+    void saveBatchUserRoleKzt(List<String> userIds, String roleId, String number);
 }

+ 15 - 0
src/main/java/com/ydtech/modules/admin/service/impl/SysUserRoleKztServiceImpl.java

@@ -11,8 +11,11 @@ import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.order.entity.BasePageResult;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
 
 /**
 * @author Administrator
@@ -68,6 +71,18 @@ public class SysUserRoleKztServiceImpl extends ServiceImpl<SysUserRoleKztMapper,
         return  new BasePageResult<>(kZTUserQueryDto.getPageNum(), page.getSize(), userPageResult.getTotal(), page.getPages(),
                 userPageResult.getRecords());
     }
+
+    @Override
+    @Transactional
+    public void saveBatchUserRoleKzt(List<String> userIds, String roleId, String number) {
+        ArrayList<SysUserRoleKzt> saveObj = new ArrayList<>();
+        sysUserRoleKztMapper.deleteBatcgByUserId(userIds,number);
+        for (String userId : userIds) {
+            SysUserRoleKzt userRole = new SysUserRoleKzt(null, userId,Long.parseLong(roleId), number, new BaseController().getUserId(), new Date(), new BaseController().getUserId(), new Date());
+            saveObj.add(userRole);
+        }
+        this.saveBatch(saveObj);
+    }
 }
 
 

+ 14 - 0
src/main/resources/mapper/modules/admin/SysUserRoleKztMapper.xml

@@ -23,6 +23,20 @@
     <delete id="deleteByUserId">
           delete  from  sys_user_role_kzt  where user_id=#{userId}  and sys_type=#{sysType}
     </delete>
+
+    <delete id="deleteBatcgByUserId">
+        delete from sys_user_role_kzt
+        <where>
+            <if test="userIds !=null  and  userIds  !=''  and userIds.size()>0">
+                and user_id IN
+                <foreach collection="userIds" item="id" index="index" open="(" close=")" separator=",">
+                    #{id}
+                </foreach>
+            </if>
+            and sys_type=#{number}
+        </where>
+    </delete>
+
     <select id="queryPageByParam" resultType="com.ydtech.modules.admin.model.SysUser">
         SELECT
             su.id,

+ 2 - 2
src/main/resources/mapper/modules/admin/TaskStatisticsMapper.xml

@@ -234,7 +234,7 @@
             </if>
 
             <if test="vo.createtimeStart  != null  and  vo.createtimeStart!=''  and vo.createtimeEnd  != null  and  vo.createtimeEnd!=''">
-                AND DATE_FORMAT( iac.createtime, '%Y-%m-%d') BETWEEN DATE_FORMAT( #{vo.createtimeStart}, '%Y-%m-%d') AND
+                AND DATE_FORMAT( iac.signing_time, '%Y-%m-%d') BETWEEN DATE_FORMAT( #{vo.createtimeStart}, '%Y-%m-%d') AND
                 DATE_FORMAT( #{vo.createtimeEnd}, '%Y-%m-%d')
             </if>
 
@@ -273,7 +273,7 @@
                   </if>
 
                   <if test="vo.createtimeStart  != null  and  vo.createtimeStart!=''  and vo.createtimeEnd  != null  and  vo.createtimeEnd!=''">
-                      AND DATE_FORMAT( iac.createtime, '%Y-%m-%d') BETWEEN DATE_FORMAT( #{vo.createtimeStart}, '%Y-%m-%d') AND
+                      AND DATE_FORMAT( iac.signing_time, '%Y-%m-%d') BETWEEN DATE_FORMAT( #{vo.createtimeStart}, '%Y-%m-%d') AND
                       DATE_FORMAT( #{vo.createtimeEnd}, '%Y-%m-%d')
                   </if>