进销存系统_用户管理(10)

Posted 上善若水

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进销存系统_用户管理(10)相关的知识,希望对你有一定的参考价值。

一、代码结构

二、用户管理模块

2.1、用户基本信息管理

  • 界面原型
  • 用户主页列表查询流程
  • 代码

MybatisPlusConfig.java

package com.xbmu.admin.config;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.context.annotation.Bean;

/**
 * MybatisPlus配置类
 * @author bitaotao
 * @since 2021-09-15
 */
@SpringBootConfiguration
public class MybatisPlusConfig {

    @Bean
    public MybatisPlusInterceptor paginationInnerInterceptor(){
        MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
        mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.mysql));
        return mybatisPlusInterceptor;
    }
}

BaseQuery.java

package com.xbmu.admin.query;

import lombok.Data;
/**
 * <p>
 * 基本查询,分页参数
 * </p>
 *
 * @author bitaotao
 * @since 2021-09-15
 */
@Data
public class BaseQuery {
    private Integer page = 1;
    private Integer limit = 10;
}

UserQuery.java

package com.xbmu.admin.query;

import lombok.Data;

/**
 * <p>
 * 用户查询条件
 * </p>
 *
 * @author bitaotao
 * @since 2021-09-15
 */
@Data
public class UserQuery extends BaseQuery{
    private String userName;
}

UserController.java

   /**
     * 用户管理主页
     * @return
     */
    @RequestMapping("index")
    public String index(){
        return "user/user";
    }

    /**
     * 用户列表查询接口
     * @param userQuery 用户查询条件
     * @return
     */
    @RequestMapping("list")
    @ResponseBody
    public Map<String,Object> userList(UserQuery userQuery){
        return userService.userList(userQuery);
    }

UserServiceImpl.java

    @Override
    public Map<String, Object> userList(UserQuery userQuery) {
        IPage<User> page = new Page<User>(userQuery.getPage(),userQuery.getLimit());
        QueryWrapper<User> queryWrapper = new QueryWrapper<User>();
        queryWrapper.eq("is_del",0);
        if(StringUtils.isNotBlank(userQuery.getUserName())){
            queryWrapper.like("user_name",userQuery.getUserName());
        }
        page = this.baseMapper.selectPage(page,queryWrapper);
        Map<String,Object> resultMap = new HashMap<>();
        resultMap.put("code",0);
        resultMap.put("msg","");
        resultMap.put("data",page.getRecords());
        resultMap.put("count",page.getTotal());
        return resultMap;
    }

2.2、添加 | 更新用户记录

  • 界面原型
    1.添加用户记录

    2.更新用户记录
  • 添加 | 更新用户记录流程
  • 代码

UserController.java

   /**
     * 添加 / 更新用户页
     * @param id
     * @param model
     * @return
     */
    @RequestMapping("addOrUpdateUserPage")
    public String addOrUpdatePage(Integer id, Model model){
        if(null != id){
            model.addAttribute("user",userService.getById(id));
        }
        return "user/add_update";
    }

    /**
     * 保存用户信息
     * @param user 用户对象
     * @return
     */
    @RequestMapping("save")
    @ResponseBody
    public RespBean saveUser(User user){
        userService.saveUser(user);
        return RespBean.success("用户记录添加成功!");
    }

    /**
     * 更新用户信息
     * @param user 用户对象
     * @return
     */
    @RequestMapping("update")
    @ResponseBody
    public RespBean updateUser(User user){
        userService.updateUser(user);
        return RespBean.success("用户记录更新成功!");
    }

UserServiceImpl.java

   /**
     * 保存用户对象
     * @param user 用户对象
     */
    @Override
    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
    public void saveUser(User user) {
        /**
         * 用户名
         *   非空  不可重复
         * 用户密码默认123456
         * 用户默认有效
         */
        AssertUtil.isTrue(StringUtils.isBlank(user.getUsername()),"用户名不能为空!");
        AssertUtil.isTrue(null != this.findUserByUserName(user.getUsername()),"用户名已存在!");
        user.setPassword(passwordEncoder.encode("123456"));
        user.setIsDel(0);
        AssertUtil.isTrue(!(this.save(user)),"用户记录添加失败!");
    }

    /**
     * 更新用户对象
     * @param user 用户对象
     */
    @Override
    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
    public void updateUser(User user) {
        /**
         * 用户名
         *    非空  不可重复
         */
        AssertUtil.isTrue(StringUtils.isBlank(user.getUsername()),"用户名不能为空!");
        User tempUser = this.findUserByUserName(user.getUsername());
        AssertUtil.isTrue(null != tempUser && !(tempUser.getId().equals(user.getId())),"用户名已存在!");
        AssertUtil.isTrue(!(this.updateById(user)),"用户记录更新失败!");

    }

2.3、删除用户记录

  • 界面原型
  • 删除用户记录流程
  • 代码

UserController.java

   /**
     * 删除用户
     * @param ids 用户id,集合
     * @return
     */
    @RequestMapping("delete")
    @ResponseBody
    public RespBean deleteUser(Integer[] ids){
        userService.deleteUser(ids);
        return RespBean.success("用户记录删除成功!");
    }

UserServiceImpl.java

    @Override
    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
    public void deleteUser(Integer[] ids) {
        AssertUtil.isTrue(null == ids || ids.length == 0,"请选择待删除的记录id!");
        List<User> users = new ArrayList<>();
        for (Integer id : ids) {
            User tempUser = this.getById(id);
            tempUser.setIsDel(1);
            users.add(tempUser);
        }
        AssertUtil.isTrue(!(this.updateBatchById(users)),"用户记录删除失败!");
    }

以上是关于进销存系统_用户管理(10)的主要内容,如果未能解决你的问题,请参考以下文章

进销存系统_系统权限管理-用户&角色管理

进销存系统_系统权限管理-用户&角色管理

进销存系统_SpringSecurity权限框架&登录&用户密码加密&退出

进销存系统_SpringSecurity权限框架&登录&用户密码加密&退出

进销存系统_菜单管理(14)

进销存系统_角色和资源管理(13)