Browse Source

warewms api 1.0 example 08.01

ChenYang 1 year ago
parent
commit
c13062a6a8

+ 1 - 1
warewms-common/src/main/java/com/warewms/common/core/controller/BaseController.java

@@ -5,8 +5,8 @@ import cn.hutool.core.util.ObjectUtil;
 import com.warewms.common.constant.HttpStatus;
 import com.warewms.common.core.domain.AjaxResult;
 import com.warewms.common.core.domain.base.BaseEntity;
-import com.warewms.common.core.domain.model.LoginUser;
 import com.warewms.common.core.domain.base.page.TableDataInfo;
+import com.warewms.common.core.domain.model.LoginUser;
 import com.warewms.common.service.bean.PageData;
 import com.warewms.common.utils.DateUtils;
 import com.warewms.common.utils.SecurityUtils;

+ 7 - 0
warewms-common/src/main/java/com/warewms/common/core/domain/entity/SysUser.java

@@ -1,5 +1,7 @@
 package com.warewms.common.core.domain.entity;
 
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.warewms.common.annotation.Excel;
 import com.warewms.common.annotation.Excel.ColumnType;
 import com.warewms.common.annotation.Excel.Type;
@@ -78,18 +80,23 @@ public class SysUser extends BaseEntity
         @Excel(name = "部门名称", targetAttr = "deptName", type = Type.EXPORT),
         @Excel(name = "部门负责人", targetAttr = "leader", type = Type.EXPORT)
     })
+    @TableField(exist = false)
     private SysDept dept;
 
     /** 角色对象 */
+    @TableField(exist = false)
     private List<SysRole> roles;
 
     /** 角色组 */
+    @TableField(exist = false)
     private Long[] roleIds;
 
     /** 岗位组 */
+    @TableField(exist = false)
     private Long[] postIds;
 
     /** 角色ID */
+    @TableField(exist = false)
     private Long roleId;
 
     public SysUser()

+ 51 - 0
warewms-common/src/main/java/com/warewms/common/service/impl/SystemService.java

@@ -0,0 +1,51 @@
+package com.warewms.common.service.impl;
+
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.metadata.OrderItem;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.warewms.common.constant.Constants;
+import com.warewms.common.constant.HttpStatus;
+import com.warewms.common.core.domain.base.BaseEntity;
+import com.warewms.common.core.domain.base.page.PageDomain;
+import com.warewms.common.core.domain.base.page.PageSort;
+import com.warewms.common.core.domain.base.page.TableDataInfo;
+import com.warewms.common.service.bean.PageData;
+import com.warewms.common.utils.StringUtils;
+
+public abstract class SystemService<T extends BaseEntity> {
+
+    protected Page<T> convertToPage(PageDomain pageDomain){
+        Page<T> page = new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize());
+        page.addOrder(new OrderItem[]{});
+        //排序字段以及排序方式
+        String orderField = StringUtils.isBlank(pageDomain.getOrderByColumn())
+                ? Constants.CREATE_TIME : pageDomain.getOrderByColumn();
+        boolean isAsc = StringUtils.equals(PageSort.ASC.getDescription(), pageDomain.getIsAsc());
+        page.addOrder(isAsc ? OrderItem.asc(orderField) : OrderItem.desc(orderField));
+        return page;
+    }
+
+    /**
+     * 响应请求分页数据
+     */
+    @SuppressWarnings({ "rawtypes", "unchecked" })
+    protected TableDataInfo<T> getDataTable(Page<T> page) {
+        TableDataInfo<T> tableDataInfo = new TableDataInfo();
+        tableDataInfo.setCode(HttpStatus.SUCCESS);
+        tableDataInfo.setMsg("the query is successful");
+        if(ObjectUtil.isNull(page)
+                || CollectionUtil.isEmpty(page.getRecords())) return tableDataInfo;
+
+        PageData<T> pageData = getPageData(page);
+        tableDataInfo.setRows(pageData.getList());
+        tableDataInfo.setTotal(pageData.getTotal());
+        return tableDataInfo;
+    }
+
+    protected <T> PageData<T> getPageData(IPage page){
+        return new PageData<>(page.getRecords(), page.getTotal());
+    }
+
+}

+ 2 - 0
warewms-system/src/main/java/com/warewms/system/controller/system/SysDictTypeController.java

@@ -37,6 +37,8 @@ public class SysDictTypeController extends BaseController<SysDictType>
         Map<String, Object> pageParams = BeanUtils.beanToMap(pageDomain);
         Map<String, Object> params = BeanUtils.beanToMap(sysDictType, pageParams);
         return getDataTable(dictTypeService.page(params));
+
+        //dictTypeService.selectDictTypeList();
     }
 
 

+ 7 - 8
warewms-system/src/main/java/com/warewms/system/controller/system/SysUserController.java

@@ -3,6 +3,8 @@ package com.warewms.system.controller.system;
 import com.warewms.common.annotation.Log;
 import com.warewms.common.core.controller.BaseController;
 import com.warewms.common.core.domain.AjaxResult;
+import com.warewms.common.core.domain.base.page.PageDomain;
+import com.warewms.common.core.domain.base.page.TableDataInfo;
 import com.warewms.common.core.domain.entity.SysDept;
 import com.warewms.common.core.domain.entity.SysRole;
 import com.warewms.common.core.domain.entity.SysUser;
@@ -32,7 +34,7 @@ import java.util.stream.Collectors;
  */
 @RestController
 @RequestMapping("/system/user")
-public class SysUserController extends BaseController
+public class SysUserController extends BaseController<SysUser>
 {
     @Autowired
     private ISysUserService userService;
@@ -49,14 +51,11 @@ public class SysUserController extends BaseController
     /**
      * 获取用户列表
      */
-    /*@PreAuthorize("@ss.hasPermi('system:user:list')")
+    @PreAuthorize("@ss.hasPermi('system:user:list')")
     @GetMapping("/list")
-    public TableDataInfo list(SysUser user)
-    {
-        startPage();
-        List<SysUser> list = userService.selectUserList(user);
-        return getDataTable(list);
-    }*/
+    public TableDataInfo<SysUser> list(PageDomain pageDomain, SysUser sysUser) {
+        return userService.selectUserList(pageDomain, sysUser);
+    }
 
     @Log(title = "用户管理", businessType = BusinessType.EXPORT)
     @PreAuthorize("@ss.hasPermi('system:user:export')")

+ 13 - 1
warewms-system/src/main/java/com/warewms/system/mapper/SysUserMapper.java

@@ -1,6 +1,9 @@
 package com.warewms.system.mapper;
 
 import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Param;
 import com.warewms.common.core.domain.entity.SysUser;
 
@@ -17,7 +20,16 @@ public interface SysUserMapper
      * @param sysUser 用户信息
      * @return 用户信息集合信息
      */
-    public List<SysUser> selectUserList(SysUser sysUser);
+    Page<SysUser> selectUserList(@Param("page") Page<SysUser> page, @Param("sysUser") SysUser sysUser);
+
+
+    /**
+     * 根据条件分页查询用户列表
+     *
+     * @param sysUser 用户信息
+     * @return 用户信息集合信息
+     */
+    List<SysUser> selectUserList(SysUser sysUser);
 
     /**
      * 根据条件分页查询已配用户角色列表

+ 16 - 1
warewms-system/src/main/java/com/warewms/system/service/ISysUserService.java

@@ -1,6 +1,9 @@
 package com.warewms.system.service;
 
 import java.util.List;
+
+import com.warewms.common.core.domain.base.page.PageDomain;
+import com.warewms.common.core.domain.base.page.TableDataInfo;
 import com.warewms.common.core.domain.entity.SysUser;
 
 /**
@@ -10,14 +13,26 @@ import com.warewms.common.core.domain.entity.SysUser;
  */
 public interface ISysUserService
 {
+
+
+
+    /**
+     * 根据条件分页查询用户列表
+     * @param pageDomain
+     * @param user 用户信息
+     * @return 用户信息集合信息
+     */
+    public TableDataInfo<SysUser> selectUserList(PageDomain pageDomain, SysUser user);
+
+
     /**
      * 根据条件分页查询用户列表
-     * 
      * @param user 用户信息
      * @return 用户信息集合信息
      */
     public List<SysUser> selectUserList(SysUser user);
 
+
     /**
      * 根据条件分页查询已分配用户角色列表
      * 

+ 34 - 17
warewms-system/src/main/java/com/warewms/system/service/impl/SysUserServiceImpl.java

@@ -1,20 +1,14 @@
 package com.warewms.system.service.impl;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.stream.Collectors;
-import javax.validation.Validator;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.CollectionUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.warewms.common.annotation.DataScope;
 import com.warewms.common.constant.UserConstants;
+import com.warewms.common.core.domain.base.page.PageDomain;
+import com.warewms.common.core.domain.base.page.TableDataInfo;
 import com.warewms.common.core.domain.entity.SysRole;
 import com.warewms.common.core.domain.entity.SysUser;
 import com.warewms.common.exception.ServiceException;
+import com.warewms.common.service.impl.SystemService;
 import com.warewms.common.utils.SecurityUtils;
 import com.warewms.common.utils.StringUtils;
 import com.warewms.common.utils.bean.BeanValidators;
@@ -22,13 +16,20 @@ import com.warewms.common.utils.spring.SpringUtils;
 import com.warewms.system.domain.SysPost;
 import com.warewms.system.domain.SysUserPost;
 import com.warewms.system.domain.SysUserRole;
-import com.warewms.system.mapper.SysPostMapper;
-import com.warewms.system.mapper.SysRoleMapper;
-import com.warewms.system.mapper.SysUserMapper;
-import com.warewms.system.mapper.SysUserPostMapper;
-import com.warewms.system.mapper.SysUserRoleMapper;
+import com.warewms.system.mapper.*;
 import com.warewms.system.service.ISysConfigService;
 import com.warewms.system.service.ISysUserService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+
+import javax.validation.Validator;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 用户 业务层处理
@@ -36,7 +37,7 @@ import com.warewms.system.service.ISysUserService;
  * @author ruoyi
  */
 @Service
-public class SysUserServiceImpl implements ISysUserService
+public class SysUserServiceImpl extends SystemService<SysUser> implements ISysUserService
 {
     private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class);
 
@@ -64,16 +65,27 @@ public class SysUserServiceImpl implements ISysUserService
     /**
      * 根据条件分页查询用户列表
      * 
+     *
+     * @param pageDomain
      * @param user 用户信息
      * @return 用户信息集合信息
      */
     @Override
     @DataScope(deptAlias = "d", userAlias = "u")
-    public List<SysUser> selectUserList(SysUser user)
+    public TableDataInfo<SysUser> selectUserList(PageDomain pageDomain, SysUser user)
     {
+        Page<SysUser> page = convertToPage(pageDomain);
+        return getDataTable(userMapper.selectUserList(page, user));
+    }
+
+
+    @Override
+    @DataScope(deptAlias = "d", userAlias = "u")
+    public List<SysUser> selectUserList(SysUser user) {
         return userMapper.selectUserList(user);
     }
 
+
     /**
      * 根据条件分页查询已分配用户角色列表
      * 
@@ -541,4 +553,9 @@ public class SysUserServiceImpl implements ISysUserService
         }
         return successMsg.toString();
     }
+
+    /*@Override
+    public QueryWrapper<SysUser> getWrapper(Map<String, Object> params) {
+        return null;
+    }*/
 }

+ 4 - 5
warewms-system/src/main/java/com/warewms/system/service/monitor/service/SysLoginService.java

@@ -1,14 +1,13 @@
 package com.warewms.system.service.monitor.service;
 
+import com.warewms.common.constant.CacheConstants;
 import com.warewms.common.constant.Constants;
 import com.warewms.common.constant.UserConstants;
 import com.warewms.common.core.domain.entity.SysUser;
 import com.warewms.common.core.domain.model.LoginUser;
 import com.warewms.common.core.redis.RedisCache;
 import com.warewms.common.exception.ServiceException;
-import com.warewms.common.exception.user.BlackListException;
-import com.warewms.common.exception.user.UserNotExistsException;
-import com.warewms.common.exception.user.UserPasswordNotMatchException;
+import com.warewms.common.exception.user.*;
 import com.warewms.common.utils.DateUtils;
 import com.warewms.common.utils.MessageUtils;
 import com.warewms.common.utils.StringUtils;
@@ -105,7 +104,7 @@ public class SysLoginService
      */
     public void validateCaptcha(String username, String code, String uuid)
     {
-        /*boolean captchaEnabled = configService.selectCaptchaEnabled();
+        boolean captchaEnabled = configService.selectCaptchaEnabled();
         if (captchaEnabled)
         {
             String verifyKey = CacheConstants.CAPTCHA_CODE_KEY + StringUtils.nvl(uuid, "");
@@ -121,7 +120,7 @@ public class SysLoginService
                 AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.error")));
                 throw new CaptchaException();
             }
-        }*/
+        }
     }
 
     /**

+ 1 - 3
warewms-system/src/main/java/com/warewms/system/service/monitor/service/TokenService.java

@@ -70,9 +70,7 @@ public class TokenService
                 String userKey = getTokenKey(uuid);
                 LoginUser user = redisCache.getCacheObject(userKey);
                 return user;
-            }
-            catch (Exception e)
-            {
+            } catch (Exception e) {
             }
         }
         return null;

+ 15 - 15
warewms-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -60,29 +60,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		select u.user_id, u.dept_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.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u
 		left join sys_dept d on u.dept_id = d.dept_id
 		where u.del_flag = '0'
-		<if test="userId != null and userId != 0">
-			AND u.user_id = #{userId}
+		<if test="sysUser.userId != null and sysUser.userId != 0">
+			AND u.user_id = #{sysUser.userId}
 		</if>
-		<if test="userName != null and userName != ''">
-			AND u.user_name like concat('%', #{userName}, '%')
+		<if test="sysUser.userName != null and sysUser.userName != ''">
+			AND u.user_name like concat('%', #{sysUser.userName}, '%')
 		</if>
-		<if test="status != null and status != ''">
-			AND u.status = #{status}
+		<if test="sysUser.status != null and sysUser.status != ''">
+			AND u.status = #{sysUser.status}
 		</if>
-		<if test="phonenumber != null and phonenumber != ''">
-			AND u.phonenumber like concat('%', #{phonenumber}, '%')
+		<if test="sysUser.phonenumber != null and sysUser.phonenumber != ''">
+			AND u.phonenumber like concat('%', #{sysUser.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 test="sysUser.params.beginTime != null and sysUser.params.beginTime != ''"><!-- 开始时间检索 -->
+			AND date_format(u.create_time,'%y%m%d') &gt;= date_format(#{sysUser.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="sysUser.params.endTime != null and sysUser.params.endTime != ''"><!-- 结束时间检索 -->
+			AND date_format(u.create_time,'%y%m%d') &lt;= date_format(#{sysUser.params.endTime},'%y%m%d')
 		</if>
-		<if test="deptId != null and deptId != 0">
-			AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId}, ancestors) ))
+		<if test="sysUser.deptId != null and sysUser.deptId != 0">
+			AND (u.dept_id = #{sysUser.deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{sysUser.deptId}, ancestors) ))
 		</if>
 		<!-- 数据范围过滤 -->
-		${params.dataScope}
+		${sysUser.params.dataScope}
 	</select>
 	
 	<select id="selectAllocatedList" parameterType="SysUser" resultMap="SysUserResult">