于俊龙 1 week ago
parent
commit
ff2ba8ae5a

+ 50 - 0
farm-crm-biz/src/main/java/jp/yamoto/farm/crm/biz/sys/domain/bo/SysUserQueryBo.java

@@ -0,0 +1,50 @@
+package jp.yamoto.farm.crm.biz.sys.domain.bo;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * ユーザ検索
+ */
+@Data
+public class SysUserQueryBo implements Serializable{
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ユーザ番号
+     */
+    private Long userId;
+
+    /**
+     * ユーザーアカウント
+     */
+   private String userName;
+
+    /**
+     * ユーザー名称
+     */
+    private String nickName;
+
+    /** 利用状態(0利用中 1停止中) */
+    private String status;
+
+    /**
+     * 権限
+     */
+    private String roleId;
+
+    /**
+     * 利用状態(0利用中 1停止中)
+     */
+    private List<String> statusList;
+
+    /**
+     * 権限
+     */
+    private List<Long> roleIdList;
+}

+ 2 - 1
farm-crm-biz/src/main/java/jp/yamoto/farm/crm/biz/sys/mapper/SysUserMapper.java

@@ -3,6 +3,7 @@ package jp.yamoto.farm.crm.biz.sys.mapper;
 import java.util.List;
 
 import jp.yamoto.farm.common.core.domain.entity.SysUser;
+import jp.yamoto.farm.crm.biz.sys.domain.bo.SysUserQueryBo;
 import org.apache.ibatis.annotations.Param;
 
 /**
@@ -18,7 +19,7 @@ public interface SysUserMapper {
      * @param sysUser ユーザー情報
      * @return ユーザー情報集合情報
      */
-    public List<SysUser> selectUserList(SysUser sysUser);
+    public List<SysUser> selectUserList(SysUserQueryBo sysUser);
 
     /**
      * 条件に応じてページ分割して既に割り当てられたユーザー役割一覧を查詢

+ 2 - 1
farm-crm-biz/src/main/java/jp/yamoto/farm/crm/biz/sys/service/ISysUserService.java

@@ -2,6 +2,7 @@ package jp.yamoto.farm.crm.biz.sys.service;
 
 import java.util.List;
 import jp.yamoto.farm.common.core.domain.entity.SysUser;
+import jp.yamoto.farm.crm.biz.sys.domain.bo.SysUserQueryBo;
 
 /**
  * ユーザー ビジネス層
@@ -15,7 +16,7 @@ public interface ISysUserService {
      * @param user ユーザー情報
      * @return ユーザー情報のリスト
      */
-    public List<SysUser> selectUserList(SysUser user);
+    public List<SysUser> selectUserList(SysUserQueryBo user);
 
     /**
      * 条件に基づいてページ分割された割り当て済みユーザー役割一覧を取得する

+ 14 - 5
farm-crm-biz/src/main/java/jp/yamoto/farm/crm/biz/sys/service/impl/SysUserServiceImpl.java

@@ -1,10 +1,12 @@
 package jp.yamoto.farm.crm.biz.sys.service.impl;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 import java.util.stream.Collectors;
 import jakarta.validation.Validator;
-import jp.yamoto.farm.common.utils.MessageUtils;
+import jp.yamoto.farm.common.utils.*;
+import jp.yamoto.farm.crm.biz.sys.domain.bo.SysUserQueryBo;
 import jp.yamoto.farm.crm.biz.sys.mapper.SysRoleMapper;
 import jp.yamoto.farm.crm.biz.sys.mapper.SysUserMapper;
 import jp.yamoto.farm.crm.biz.sys.mapper.SysUserRoleMapper;
@@ -15,8 +17,6 @@ import jp.yamoto.farm.common.constant.UserConstants;
 import jp.yamoto.farm.common.core.domain.entity.SysRole;
 import jp.yamoto.farm.common.core.domain.entity.SysUser;
 import jp.yamoto.farm.common.exception.ServiceException;
-import jp.yamoto.farm.common.utils.SecurityUtils;
-import jp.yamoto.farm.common.utils.StringUtils;
 import jp.yamoto.farm.common.utils.bean.BeanValidators;
 import jp.yamoto.farm.common.utils.spring.SpringUtils;
 import lombok.extern.slf4j.Slf4j;
@@ -56,7 +56,16 @@ public class SysUserServiceImpl implements ISysUserService {
      * @return ユーザー情報のリスト
      */
     @Override
-    public List<SysUser> selectUserList(SysUser user) {
+    public List<SysUser> selectUserList(SysUserQueryBo user) {
+        // 利用状態
+        if(ValueUtils.isNotEmpty(user.getStatus())){
+            user.setStatusList(Arrays.asList(ConvertUtils.toStrArray(user.getStatus())));
+        }
+        // 権限
+        if(ValueUtils.isNotEmpty(user.getRoleId())){
+            user.setRoleIdList(Arrays.asList(ConvertUtils.toLongArray(user.getRoleId())));
+        }
+
         return userMapper.selectUserList(user);
     }
 
@@ -211,7 +220,7 @@ public class SysUserServiceImpl implements ISysUserService {
     @Override
     public void checkUserDataScope(Long userId) {
 //        if (!SysUser.isAdmin(SecurityUtils.getUserId())) {
-        SysUser user = new SysUser();
+        SysUserQueryBo user = new SysUserQueryBo();
         user.setUserId(userId);
         List<SysUser> users = SpringUtils.getAopProxy(this).selectUserList(user);
         if (StringUtils.isEmpty(users)) {

+ 11 - 16
farm-crm-biz/src/main/resources/mapper/crm/SysUserMapper.xml

@@ -43,7 +43,7 @@
 				 left join sys_role r on r.role_id = ur.role_id
 	</sql>
 
-	<select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult">
+	<select id="selectUserList" parameterType="SysUserQueryBo" resultMap="SysUserResult">
 		select u.user_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip
 		, u.login_date,u.version, u.create_by, u.create_time, u.remark
 		from sys_user u
@@ -57,23 +57,18 @@
 		<if test="nickName != null and nickName != ''">
 			AND u.nick_name like concat('%', #{nickName}, '%')
 		</if>
-		<if test="status != null and status != ''">
-			AND u.status = #{status}
+		<if test="statusList != null and statusList != ''">
+			AND u.status IN
+			<foreach collection="statusList" item="status" open="(" separator="," close=")">
+				#{status}
+			</foreach>
 		</if>
-		<if test="phonenumber != null and phonenumber != ''">
-			AND u.phonenumber like concat('%', #{phonenumber}, '%')
-		</if>
-		<if test="params.beginTime != null and params.beginTime != ''">
-			AND date_format(u.create_time,'%Y%m%d') &gt;= date_format(#{params.beginTime},'%Y%m%d')
-		</if>
-		<if test="params.endTime != null and params.endTime != ''">
-			AND date_format(u.create_time,'%Y%m%d') &lt;= date_format(#{params.endTime},'%Y%m%d')
+		<if test="roleIdList != null">
+			AND user_id in (SELECT user_id FROM sys_user_role WHERE role_id IN
+			 	<foreach collection="roleIdList" item="roleId" open="(" separator="," close=")">
+					#{roleId}
+				</foreach>)
 		</if>
-		<if test="roleId != null">
-			AND user_id in (SELECT user_id FROM sys_user_role WHERE role_id = #{roleId})
-		</if>
-		<!-- データ範囲フィルタリング -->
-		${params.dataScope}
 	</select>
 
 	<select id="selectAllocatedList" parameterType="SysUser" resultMap="SysUserResult">

+ 3 - 2
farm-crm/src/main/java/jp/yamoto/farm/crm/web/controller/system/SysUserController.java

@@ -14,6 +14,7 @@ import jp.yamoto.farm.common.exception.ServiceException;
 import jp.yamoto.farm.common.utils.*;
 import jp.yamoto.farm.common.utils.poi.ExcelUtil;
 import jp.yamoto.farm.common.validator.utils.ValidatorGroup;
+import jp.yamoto.farm.crm.biz.sys.domain.bo.SysUserQueryBo;
 import jp.yamoto.farm.crm.biz.sys.service.ISysRoleService;
 import jp.yamoto.farm.crm.biz.sys.service.ISysUserService;
 import org.apache.commons.lang3.ArrayUtils;
@@ -50,7 +51,7 @@ public class SysUserController extends BaseController
      */
     @PreAuthorize("@ss.hasPermi('system:user')")
     @GetMapping("/list")
-    public TableDataInfo list(@RequestBody SysUser user)
+    public TableDataInfo list(SysUserQueryBo user)
     {
         startPage();
         List<SysUser> list = userService.selectUserList(user);
@@ -60,7 +61,7 @@ public class SysUserController extends BaseController
     @Log(title = "ユーザー管理", businessType = BusinessType.EXPORT)
     @PreAuthorize("@ss.hasPermi('system:user')")
     @PostMapping("/export")
-    public void export(HttpServletResponse response, SysUser user)
+    public void export(HttpServletResponse response, SysUserQueryBo user)
     {
         List<SysUser> list = userService.selectUserList(user);
         ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);