diff --git a/yifu-permission/yifu-permission-api/src/main/java/com/yifu/cloud/plus/v1/yifu/permission/vo/SysUserPermissionExportVo.java b/yifu-permission/yifu-permission-api/src/main/java/com/yifu/cloud/plus/v1/yifu/permission/vo/SysUserPermissionExportVo.java new file mode 100644 index 0000000000000000000000000000000000000000..2dff678fcb2ca3947a66916d6fd34a511a8c2f3e --- /dev/null +++ b/yifu-permission/yifu-permission-api/src/main/java/com/yifu/cloud/plus/v1/yifu/permission/vo/SysUserPermissionExportVo.java @@ -0,0 +1,87 @@ +package com.yifu.cloud.plus.v1.yifu.permission.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * æ–°æƒé™-用户æƒé™è¡¨ + * + * @author hyc + * @date 2023-08-29 14:49:40 + */ +@Data +public class SysUserPermissionExportVo implements Serializable { + + /** + * 员工姓å + */ + @Length(max = 20, message = "员工姓å ä¸èƒ½è¶…过20 个å—符") + @ExcelAttribute(name = "员工姓å", maxLength = 20) + @Schema(description = "员工姓å") + @ExcelProperty("员工姓å") + private String empName; + /** + * ç™»å½•è´¦å· + */ + @NotBlank(message = "ç™»å½•è´¦å· ä¸èƒ½ä¸ºç©º") + @Length(max = 10, message = "ç™»å½•è´¦å· ä¸èƒ½è¶…过10 个å—符") + @ExcelAttribute(name = "登录账å·", isNotEmpty = true, errorInfo = "ç™»å½•è´¦å· ä¸èƒ½ä¸ºç©º", maxLength = 10) + @Schema(description = "登录账å·") + @ExcelProperty("登录账å·") + private String empLoginName; + /** + * 所属部门 + */ + @Length(max = 20, message = "所属部门 ä¸èƒ½è¶…过20 个å—符") + @ExcelAttribute(name = "所属部门", maxLength = 20) + @Schema(description = "所属部门") + @ExcelProperty("所属部门") + private String empDept; + /** + * æƒé™ç±»åž‹ + */ + @Length(max = 8, message = "æƒé™ç±»åž‹ ä¸èƒ½è¶…过8 个å—符") + @ExcelAttribute(name = "æƒé™ç±»åž‹", maxLength = 8) + @Schema(description = "æƒé™ç±»åž‹") + @ExcelProperty("æƒé™ç±»åž‹") + private String permissionType; + /** + * å称 + */ + @Length(max = 20, message = "å称 ä¸èƒ½è¶…过20 个å—符") + @ExcelAttribute(name = "å称", maxLength = 20) + @Schema(description = "å称") + @ExcelProperty("å称") + private String name; + /** + * ç¼–ç + */ + @Length(max = 30, message = "ç¼–ç ä¸èƒ½è¶…过30 个å—符") + @ExcelAttribute(name = "ç¼–ç ", maxLength = 30) + @Schema(description = "ç¼–ç ") + @ExcelProperty("ç¼–ç ") + private String code; + /** + * 是å¦åŒ…å«(0 是 1å¦) + */ + @Length(max = 1, message = "是å¦å«ä¸‹çº§éƒ¨é—¨ ä¸èƒ½è¶…过1 个å—符") + @ExcelAttribute(name = "是å¦å«ä¸‹çº§éƒ¨é—¨", maxLength = 1) + @Schema(description = "是å¦å«ä¸‹çº§éƒ¨é—¨") + @ExcelProperty("是å¦å«ä¸‹çº§éƒ¨é—¨") + private String isContains; + /** + * 授æƒçŠ¶æ€ï¼ˆ0å¯ç”¨ã€1ç¦ç”¨ï¼‰ + */ + @Length(max = 1, message = "授æƒçŠ¶æ€ ä¸èƒ½è¶…过1 个å—符") + @ExcelAttribute(name = "授æƒçŠ¶æ€", maxLength = 1) + @Schema(description = "授æƒçŠ¶æ€") + @ExcelProperty("授æƒçŠ¶æ€") + private String permissionStatus; + +} diff --git a/yifu-permission/yifu-permission-api/src/main/java/com/yifu/cloud/plus/v1/yifu/permission/vo/SysUserPermissionVo.java b/yifu-permission/yifu-permission-api/src/main/java/com/yifu/cloud/plus/v1/yifu/permission/vo/SysUserPermissionVo.java index 2d9f60c2a674c4d762bb37ea79402bf4f35a0066..1e22d7c197008d92145e3788506d045e1f8cb57c 100644 --- a/yifu-permission/yifu-permission-api/src/main/java/com/yifu/cloud/plus/v1/yifu/permission/vo/SysUserPermissionVo.java +++ b/yifu-permission/yifu-permission-api/src/main/java/com/yifu/cloud/plus/v1/yifu/permission/vo/SysUserPermissionVo.java @@ -41,7 +41,7 @@ public class SysUserPermissionVo extends RowIndex implements Serializable { * 用户id */ @Schema(description = "用户id") - @ExcelAttribute(name = "用户id",isExport = false) + @ExcelAttribute(name = "用户id") private String userId; /** @@ -71,8 +71,8 @@ public class SysUserPermissionVo extends RowIndex implements Serializable { /** * ç¼–ç */ - @Length(max = 10, message = "ç¼–ç ä¸èƒ½è¶…过10 个å—符") - @ExcelAttribute(name = "ç¼–ç ", maxLength = 10) + @Length(max = 30, message = "ç¼–ç ä¸èƒ½è¶…过30 个å—符") + @ExcelAttribute(name = "ç¼–ç ", maxLength = 30) @Schema(description = "ç¼–ç ") @ExcelProperty("ç¼–ç ") private String code; diff --git a/yifu-permission/yifu-permission-biz/src/main/java/com/yifu/cloud/plus/v1/permission/controller/SysUserInfoController.java b/yifu-permission/yifu-permission-biz/src/main/java/com/yifu/cloud/plus/v1/permission/controller/SysUserInfoController.java index 10ddf05e42a708bfd5cf40a81aaae3cf79759116..1e5366427472a9427440d478fcf3b55502b45126 100644 --- a/yifu-permission/yifu-permission-biz/src/main/java/com/yifu/cloud/plus/v1/permission/controller/SysUserInfoController.java +++ b/yifu-permission/yifu-permission-biz/src/main/java/com/yifu/cloud/plus/v1/permission/controller/SysUserInfoController.java @@ -158,12 +158,12 @@ public class SysUserInfoController { * 简å•åˆ†é¡µæŸ¥è¯¢ * hyc 2023-9-11 15:25:50 * @param page 分页对象 - * @param code æ–°æƒé™-è´¦å·ç®¡ç†è¡¨ + * @param name æ–°æƒé™-è´¦å·ç®¡ç†è¡¨ * @return */ @Operation(description = "æ ¹æ®ç¼–ç 或者登录å简å•åˆ†é¡µæŸ¥è¯¢") @GetMapping("/getUserByCodeOrLoginName") - public R<IPage<SysUserInfo>> getUserByCodeOrLoginName(Page<SysUserInfo> page, String code) { - return new R<>(sysUserInfoService.getUserByCodeOrLoginName(page, code)); + public R<IPage<SysUserInfo>> getUserByCodeOrLoginName(Page<SysUserInfo> page, String name) { + return new R<>(sysUserInfoService.getUserByCodeOrLoginName(page, name)); } } diff --git a/yifu-permission/yifu-permission-biz/src/main/java/com/yifu/cloud/plus/v1/permission/mapper/SysUserPermissionMapper.java b/yifu-permission/yifu-permission-biz/src/main/java/com/yifu/cloud/plus/v1/permission/mapper/SysUserPermissionMapper.java index a6f72679f6d7661b3e72708ce1861f4e0ee99f2d..96317404cf41a58c33a9e94771f54e161752da98 100644 --- a/yifu-permission/yifu-permission-biz/src/main/java/com/yifu/cloud/plus/v1/permission/mapper/SysUserPermissionMapper.java +++ b/yifu-permission/yifu-permission-biz/src/main/java/com/yifu/cloud/plus/v1/permission/mapper/SysUserPermissionMapper.java @@ -6,8 +6,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yifu.cloud.plus.v1.yifu.permission.entity.SysUserPermission; import com.yifu.cloud.plus.v1.yifu.permission.vo.SysDictVo; import com.yifu.cloud.plus.v1.yifu.permission.vo.SysUserDeptVo; +import com.yifu.cloud.plus.v1.yifu.permission.vo.SysUserPermissionExportVo; import com.yifu.cloud.plus.v1.yifu.permission.vo.SysUserPermissionSearchVo; -import com.yifu.cloud.plus.v1.yifu.permission.vo.SysUserPermissionVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -43,7 +43,7 @@ public interface SysUserPermissionMapper extends BaseMapper<SysUserPermission> { * @param sysUserPermission æ–°æƒé™-用户æƒé™è¡¨ * @return */ - List<SysUserPermissionVo> userSelectList(@Param("sysUserPermission") SysUserPermissionSearchVo sysUserPermission); + List<SysUserPermissionExportVo> userSelectList(@Param("sysUserPermission") SysUserPermissionSearchVo sysUserPermission); /** * æ ¹æ®å称或者编ç æŸ¥è¯¢æ•°æ® diff --git a/yifu-permission/yifu-permission-biz/src/main/java/com/yifu/cloud/plus/v1/permission/service/impl/SysUserPermissionServiceImpl.java b/yifu-permission/yifu-permission-biz/src/main/java/com/yifu/cloud/plus/v1/permission/service/impl/SysUserPermissionServiceImpl.java index bbbaf4cee568a925a1f49920ce4696f5af621983..08dd324ae4bdfdb41960ec480ff13573c2ad354e 100644 --- a/yifu-permission/yifu-permission-biz/src/main/java/com/yifu/cloud/plus/v1/permission/service/impl/SysUserPermissionServiceImpl.java +++ b/yifu-permission/yifu-permission-biz/src/main/java/com/yifu/cloud/plus/v1/permission/service/impl/SysUserPermissionServiceImpl.java @@ -21,10 +21,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser; import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils; import com.yifu.cloud.plus.v1.yifu.permission.entity.SysUserInfo; import com.yifu.cloud.plus.v1.yifu.permission.entity.SysUserPermission; -import com.yifu.cloud.plus.v1.yifu.permission.vo.SysDictVo; -import com.yifu.cloud.plus.v1.yifu.permission.vo.SysUserDeptVo; -import com.yifu.cloud.plus.v1.yifu.permission.vo.SysUserPermissionSearchVo; -import com.yifu.cloud.plus.v1.yifu.permission.vo.SysUserPermissionVo; +import com.yifu.cloud.plus.v1.yifu.permission.vo.*; import lombok.RequiredArgsConstructor; import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; @@ -105,14 +102,14 @@ public class SysUserPermissionServiceImpl extends ServiceImpl<SysUserPermissionM public void listExport(HttpServletResponse response, SysUserPermissionSearchVo searchVo) { String fileName = "æ•°æ®æƒé™è¡¨æ‰¹é‡å¯¼å‡º" + DateUtil.getThisTime() + ".xlsx"; //获å–è¦å¯¼å‡ºçš„列表 - List<SysUserPermissionVo> list = new ArrayList<>(); + List<SysUserPermissionExportVo> list = new ArrayList<>(); long count = baseMapper.userSelectCount(searchVo); try (ServletOutputStream out = response.getOutputStream()) { response.setContentType(CommonConstants.MULTIPART_FORM_DATA); response.setCharacterEncoding("utf-8"); response.setHeader(CommonConstants.CONTENT_DISPOSITION, CommonConstants.ATTACHMENT_FILENAME + URLEncoder.encode(fileName, CommonConstants.UTF8)); // 这里 需è¦æŒ‡å®šå†™ç”¨å“ªä¸ªclass去写,然åŽå†™åˆ°ç¬¬ä¸€ä¸ªsheet,然åŽæ–‡ä»¶æµä¼šè‡ªåŠ¨å…³é— - ExcelWriter excelWriter = EasyExcel.write(out, SysUserPermissionVo.class).build(); + ExcelWriter excelWriter = EasyExcel.write(out, SysUserPermissionExportVo.class).build(); int index = 0; if (count > CommonConstants.ZERO_INT) { for (int i = 0; i <= count; i += CommonConstants.EXCEL_EXPORT_LIMIT) { @@ -223,6 +220,7 @@ public class SysUserPermissionServiceImpl extends ServiceImpl<SysUserPermissionM data.setRowIndex(rowIndex + 1); ErrorMessage errorMessage = util1.checkEntity(data, data.getRowIndex()); if (Common.isNotNull(errorMessage)) { + errorMessage.setData(data); errorMessageList.add(errorMessage); } else { cachedDataList.add(data); @@ -266,7 +264,6 @@ public class SysUserPermissionServiceImpl extends ServiceImpl<SysUserPermissionM // 执行数æ®æ’å…¥æ“作 组装 for (int i = 0; i < excelVOList.size(); i++) { SysUserPermissionVo excel = excelVOList.get(i); - //登录åæ ¡éªŒ userInfo = userInfoList.stream().filter(e -> excel.getEmpLoginName().equals(e.getFdLoginName())).collect(Collectors.toList()); if (userInfo.isEmpty()) { @@ -279,6 +276,8 @@ public class SysUserPermissionServiceImpl extends ServiceImpl<SysUserPermissionM excel.setEmpDept(sysUserInfo.getFdDeptName()); excel.setEmpName(sysUserInfo.getFdName()); excel.setUserId(sysUserInfo.getFdId()); + SysUserPermission insert = new SysUserPermission(); + BeanUtil.copyProperties(excel, insert); //判æ–è¡¨æ ¼æƒé™ç±»åž‹æ˜¯å¦æ£ç¡® if (typeMap.isEmpty()) { errorMessageList.add(new ErrorMessage(excel.getRowIndex(), "获å–æƒé™ç±»åž‹å—典值异常", excel)); @@ -289,14 +288,14 @@ public class SysUserPermissionServiceImpl extends ServiceImpl<SysUserPermissionM errorMessageList.add(new ErrorMessage(excel.getRowIndex(), "æƒé™ç±»åž‹å¡«å†™é”™è¯¯ï¼Œè¯·æ ¸å®ž", excel)); continue; } else { - excel.setPermissionType(typeMap.get(excel.getPermissionType())); + insert.setPermissionType(typeMap.get(excel.getPermissionType())); } //登录账å·+维度+å”¯ä¸€æ ‡è¯†å”¯ä¸€ StringBuilder flag = new StringBuilder(); flag.append(excel.getEmpLoginName()); flag.append("_"); - flag.append(excel.getPermissionType()); + flag.append(insert.getPermissionType()); flag.append("_"); flag.append(excel.getCode()); if (null != uniqueMap.get(flag.toString())) { @@ -308,11 +307,11 @@ public class SysUserPermissionServiceImpl extends ServiceImpl<SysUserPermissionM //BUå’Œæ¡çº¿çš„时候用å称判æ–,其他用编ç åˆ¤æ– //判æ–æ¤ç™»å½•å是å¦å·²ç»å˜åœ¨æ¤æƒé™ç»´åº¦ - if (CommonConstants.SIX_STRING.equals(excel.getPermissionType()) - || CommonConstants.SEVEN_STRING.equals(excel.getPermissionType())) { + if (CommonConstants.SIX_STRING.equals(insert.getPermissionType()) + || CommonConstants.SEVEN_STRING.equals(insert.getPermissionType())) { //判æ–对应维度的å称是å¦å˜åœ¨ Integer count; - if (CommonConstants.SIX_STRING.equals(excel.getPermissionType())) { + if (CommonConstants.SIX_STRING.equals(insert.getPermissionType())) { count = baseMapper.selectDictByName(excel.getName(), "bu"); } else { count = baseMapper.selectDictByName(excel.getName(), "line"); @@ -323,7 +322,7 @@ public class SysUserPermissionServiceImpl extends ServiceImpl<SysUserPermissionM } permission = this.getOne(Wrappers.<SysUserPermission>query().lambda() .eq(SysUserPermission::getEmpLoginName, excel.getEmpLoginName()) - .eq(SysUserPermission::getPermissionType, excel.getPermissionType()) + .eq(SysUserPermission::getPermissionType, insert.getPermissionType()) .eq(SysUserPermission::getName, excel.getName()).last(CommonConstants.LAST_ONE_SQL)); if (Common.isNotNull(permission)) { errorMessageList.add(new ErrorMessage(excel.getRowIndex(), "系统ä¸å·²ç»å˜åœ¨è¯¥ç”¨æˆ·å¯¹åº”çš„å称æƒé™ç»´åº¦", excel)); @@ -331,14 +330,14 @@ public class SysUserPermissionServiceImpl extends ServiceImpl<SysUserPermissionM } } else { //判æ–对应维度的编ç 是å¦å˜åœ¨ - Integer count = this.checkExit(excel.getPermissionType(), excel.getCode()); + Integer count = this.checkExit(insert.getPermissionType(), excel.getCode()); if (count < 1) { errorMessageList.add(new ErrorMessage(excel.getRowIndex(), "ä¸å˜åœ¨å¯¹åº”维度的编ç ä¿¡æ¯", excel)); continue; } permission = this.getOne(Wrappers.<SysUserPermission>query().lambda() .eq(SysUserPermission::getEmpLoginName, excel.getEmpLoginName()) - .eq(SysUserPermission::getPermissionType, excel.getPermissionType()) + .eq(SysUserPermission::getPermissionType, insert.getPermissionType()) .eq(SysUserPermission::getCode, excel.getCode()).last(CommonConstants.LAST_ONE_SQL)); if (Common.isNotNull(permission)) { errorMessageList.add(new ErrorMessage(excel.getRowIndex(), "系统ä¸å·²ç»å˜åœ¨è¯¥ç”¨æˆ·å¯¹åº”çš„ç¼–ç çš„æƒé™ç»´åº¦", excel)); @@ -352,7 +351,7 @@ public class SysUserPermissionServiceImpl extends ServiceImpl<SysUserPermissionM permission = this.getOne(Wrappers.<SysUserPermission>query().lambda() .eq(SysUserPermission::getPermissionStatus, CommonConstants.ZERO_STRING) .eq(SysUserPermission::getEmpLoginName, user.getUsername()) - .eq(SysUserPermission::getPermissionType, excel.getPermissionType()) + .eq(SysUserPermission::getPermissionType, insert.getPermissionType()) .eq(SysUserPermission::getCode, excel.getCode()).last(CommonConstants.LAST_ONE_SQL)); if (Common.isEmpty(permission)) { errorMessageList.add(new ErrorMessage(excel.getRowIndex(), "åªæœ‰è‡ªå·±æœ‰æƒé™çš„维度æ‰å¯å¯¼å…¥", excel)); @@ -360,7 +359,7 @@ public class SysUserPermissionServiceImpl extends ServiceImpl<SysUserPermissionM } } // æ’å…¥æ•°æ® - insertExcel(excel); + insertExcel(insert); } } catch (Exception e) { log.error("用户æƒé™è¡¨å¯¼å…¥å¼‚常:" + e); @@ -370,9 +369,7 @@ public class SysUserPermissionServiceImpl extends ServiceImpl<SysUserPermissionM /** * æ’å…¥excel bad record */ - private void insertExcel(SysUserPermissionVo excel) { - SysUserPermission insert = new SysUserPermission(); - BeanUtil.copyProperties(excel, insert); + private void insertExcel(SysUserPermission insert ) { //转化是å¦å«ä¸‹çº§ if (Common.isNotNull(insert.getIsContains())) { if (CommonConstants.IS_TRUE.equals(insert.getIsContains())) { diff --git a/yifu-permission/yifu-permission-biz/src/main/resources/mapper/SysMenuMapper.xml b/yifu-permission/yifu-permission-biz/src/main/resources/mapper/SysMenuMapper.xml index bc6d8544a86c3cedf138f45b1580f0d1846b2c09..be4601622d9be1fbd05d7cc6713fa3071b144006 100644 --- a/yifu-permission/yifu-permission-biz/src/main/resources/mapper/SysMenuMapper.xml +++ b/yifu-permission/yifu-permission-biz/src/main/resources/mapper/SysMenuMapper.xml @@ -51,7 +51,7 @@ <sql id="sysMenu_where"> <if test="sysMenu != null"> <if test="sysMenu.menuName != null and sysMenu.menuName.trim() != ''"> - AND a.MENU_NAME = #{sysMenu.menuName} + AND a.MENU_NAME like concat('%',#{sysMenu.menuName},'%') </if> <if test="sysMenu.menuNameParent != null and sysMenu.menuNameParent.trim() != ''"> AND a.MENU_NAME_PARENT = #{sysMenu.menuNameParent} diff --git a/yifu-permission/yifu-permission-biz/src/main/resources/mapper/SysUserInfoMapper.xml b/yifu-permission/yifu-permission-biz/src/main/resources/mapper/SysUserInfoMapper.xml index 61d1d5e9e9015d98f105b234c1ebab62dd4cc8e2..c7b80e7dd86edc35df1d40e9faf2e80adb8c045d 100644 --- a/yifu-permission/yifu-permission-biz/src/main/resources/mapper/SysUserInfoMapper.xml +++ b/yifu-permission/yifu-permission-biz/src/main/resources/mapper/SysUserInfoMapper.xml @@ -201,7 +201,7 @@ a.fd_dept_name FROM sys_user_info a <where> - 1=1 + 1=1 and a.status = 0 <if test="code != null and code != ''"> AND (a.fd_login_name like concat('%',#{code},'%') or a.fd_name like concat('%',#{code},'%')) </if> diff --git a/yifu-permission/yifu-permission-biz/src/main/resources/mapper/SysUserPermissionMapper.xml b/yifu-permission/yifu-permission-biz/src/main/resources/mapper/SysUserPermissionMapper.xml index 16025fd34b3f31dceec42afda625f864bd1decb4..a9d12f21ebe038a1ab85d884f0f867f324c00a11 100644 --- a/yifu-permission/yifu-permission-biz/src/main/resources/mapper/SysUserPermissionMapper.xml +++ b/yifu-permission/yifu-permission-biz/src/main/resources/mapper/SysUserPermissionMapper.xml @@ -21,7 +21,7 @@ <result property="updateTime" column="UPDATE_TIME"/> </resultMap> - <resultMap id="sysUserPermissionExportMap" type="com.yifu.cloud.plus.v1.yifu.permission.vo.SysUserPermissionVo"> + <resultMap id="sysUserPermissionExportMap" type="com.yifu.cloud.plus.v1.yifu.permission.vo.SysUserPermissionExportVo"> <result property="empName" column="EMP_NAME"/> <result property="empLoginName" column="EMP_LOGIN_NAME"/> <result property="empDept" column="EMP_DEPT"/>