微信小程序软件缺陷管理系统+ssm后端源码和论文

这篇具有很好参考价值的文章主要介绍了微信小程序软件缺陷管理系统+ssm后端源码和论文。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基于微信小程序软件缺陷管理系统

摘要

随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了基于微信小程序软件缺陷管理系统的开发全过程。通过分析基于微信小程序软件缺陷管理系统管理的不足,创建了一个计算机管理基于微信小程序软件缺陷管理系统的方案。文章介绍了基于微信小程序软件缺陷管理系统的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。

本基于微信小程序软件缺陷管理系统有管理员和用户两个角色。管理员功能主要在浏览器上面操作,主要功能有项目类型管理,用户管理,缺陷工作管理,手机项目管理,系统管理。用户主要在微信小程序上操作,主要可以注册登录,可以发布缺陷工作和手机项目的缺陷,还可以查看公告信息。因而具有一定的实用性。

本站后台采用Java的SSM框架进行后台管理开发,可以在浏览器上登录进行后台数据方面的管理,MySQL作为本地数据库,微信小程序用到了微信开发者工具,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得基于微信小程序软件缺陷管理系统管理工作系统化、规范化。

微信小程序软件缺陷管理系统+ssm后端源码和论文weixin176

关键词:基于微信小程序软件缺陷管理系统;SSM框架;MYSQL数据库

演示视频:

微信小程序软件缺陷管理系统+ssm后端源码和论文

SSM框架,是Spring+Spring MVC+MyBatis的缩写,这个是继SSH之后,目前比较主流的Java EE企业级框架,适用于搭建各种大型的企业级应用系统。

1.Spring简介

Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由Rod Johnson在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

A.控制反转(IOC)是什么呢?

IOC:控制反转也叫依赖注入。利用了工厂模式将对象交给容器管理,你只需要在spring配置文件总配置相应的bean,以及设置相关的属性,让spring容器来生成类的实例对象以及管理对象。在spring容器启动的时候,spring会把你在配置文件中配置的bean都初始化好,然后在你需要调用的时候,就把它已经初始化好的那些bean分配给你需要调用这些bean的类(假设这个类名是A),分配的方法就是调用A的setter方法来注入,而不需要你在A里面new这些bean了。

B.面向切面(AOP)又是什么呢?

首先,需要说明的一点,AOP只是Spring的特性,它就像OOP一样是一种编程思想,并不是某一种技术,AOP可以说是对OOP的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候,OOP则显得无能为力。也就是说,OOP允许你定义从上到下的关系,但并不适合定义从左到右的关系。例如日志功能。日志代码往往水平地散布在所有对象层次中,而与它所散布到的对象的核心功能毫无关系。在OOP设计中,它导致了大量代码的重复,而不利于各个模块的重用。将程序中的交叉业务逻辑(比如安全,日志,事务等),封装成一个切面,然后注入到目标对象(具体业务逻辑)中去。

实现AOP的技术,主要分为两大类:一是采用动态代理技术,利用截取消息的方式,对该消息进行装饰,以取代原有对象行为的执行;二是采用静态织入的方式,引入特定的语法创建“方面”,从而使得编译器可以在编译期间织入有关“方面”的代码。

2.Spring MVC简介

Spring MVC属于Spring Framework的后续产品,已经融合在Spring Web Flow里面,它原生支持的Spring特性,让开发变得非常简单规范。Spring MVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

3.MyBatis简介

MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis。MyBatis是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。可以这么理解,MyBatis是一个用来帮你管理数据增删改查的框架。

Abstract

With the more and more in-depth and extensive application of information technology in management, the implementation of management information system has gradually matured in technology. This paper introduces the whole process of developing a software defect management system based on WeChat applet. By analyzing the deficiencies of the software defect management system based on the WeChat applet, a program for computer management based on the WeChat applet software defect management system was created. The article introduces the system analysis part of the software defect management system based on WeChat applet, including feasibility analysis, etc. The system design part mainly introduces the system function design and database design.

This software defect management system based on WeChat applet has two roles of administrator and user. The administrator function is mainly operated on the browser. The main functions include project type management, user management, defect work management, mobile phone project management, and system management. Users mainly operate on the WeChat applet, mainly can register and log in, can publish defect work and mobile phone project defects, and can also view announcement information. Therefore, it has certain practicality.

The background of this site uses the Java SSM framework for background management and development. You can log in on the browser to manage the background data. MySQL is used as the local database, and the WeChat applet uses the WeChat developer tool to fully ensure the stability of the system. The system has the characteristics of clear interface, simple operation and complete functions, which makes the management work of the software defect management system based on WeChat applet systematized and standardized

Keywords:Based on WeChat applet software defect management system; SSM framework; MYSQL database

微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序微信小程序软件缺陷管理系统+ssm后端源码和论文,微信小程序,小程序文章来源地址https://www.toymoban.com/news/detail-816046.html

package com.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;

import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;

import com.entity.QuexiangongzuoEntity;
import com.entity.view.QuexiangongzuoView;

import com.service.QuexiangongzuoService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;

/**
 * 缺陷工作
 * 后端接口
 * @author 
 * @email 
 * @date 2022-02-14 10:43:33
 */
@RestController
@RequestMapping("/quexiangongzuo")
public class QuexiangongzuoController {
    @Autowired
    private QuexiangongzuoService quexiangongzuoService;



    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,QuexiangongzuoEntity quexiangongzuo, 
                @RequestParam(required = false) @DateTimeFormat(pattern="yyyy-MM-dd") Date gengxinriqistart,
                @RequestParam(required = false) @DateTimeFormat(pattern="yyyy-MM-dd") Date gengxinriqiend,
		HttpServletRequest request){

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("yonghu")) {
			quexiangongzuo.setYonghuming((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<QuexiangongzuoEntity> ew = new EntityWrapper<QuexiangongzuoEntity>();
                if(gengxinriqistart!=null) ew.ge("gengxinriqi", gengxinriqistart);
                if(gengxinriqiend!=null) ew.le("gengxinriqi", gengxinriqiend);
		PageUtils page = quexiangongzuoService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, quexiangongzuo), params), params));
        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,QuexiangongzuoEntity quexiangongzuo, 
                @RequestParam(required = false) @DateTimeFormat(pattern="yyyy-MM-dd") Date gengxinriqistart,
                @RequestParam(required = false) @DateTimeFormat(pattern="yyyy-MM-dd") Date gengxinriqiend,
		HttpServletRequest request){

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("yonghu")) {
			quexiangongzuo.setYonghuming((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<QuexiangongzuoEntity> ew = new EntityWrapper<QuexiangongzuoEntity>();
                if(gengxinriqistart!=null) ew.ge("gengxinriqi", gengxinriqistart);
                if(gengxinriqiend!=null) ew.le("gengxinriqi", gengxinriqiend);
		PageUtils page = quexiangongzuoService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, quexiangongzuo), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( QuexiangongzuoEntity quexiangongzuo){
       	EntityWrapper<QuexiangongzuoEntity> ew = new EntityWrapper<QuexiangongzuoEntity>();
      	ew.allEq(MPUtil.allEQMapPre( quexiangongzuo, "quexiangongzuo")); 
        return R.ok().put("data", quexiangongzuoService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(QuexiangongzuoEntity quexiangongzuo){
        EntityWrapper< QuexiangongzuoEntity> ew = new EntityWrapper< QuexiangongzuoEntity>();
 		ew.allEq(MPUtil.allEQMapPre( quexiangongzuo, "quexiangongzuo")); 
		QuexiangongzuoView quexiangongzuoView =  quexiangongzuoService.selectView(ew);
		return R.ok("查询缺陷工作成功").put("data", quexiangongzuoView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        QuexiangongzuoEntity quexiangongzuo = quexiangongzuoService.selectById(id);
        return R.ok().put("data", quexiangongzuo);
    }

    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        QuexiangongzuoEntity quexiangongzuo = quexiangongzuoService.selectById(id);
        return R.ok().put("data", quexiangongzuo);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody QuexiangongzuoEntity quexiangongzuo, HttpServletRequest request){
    	quexiangongzuo.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(quexiangongzuo);

        quexiangongzuoService.insert(quexiangongzuo);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody QuexiangongzuoEntity quexiangongzuo, HttpServletRequest request){
    	quexiangongzuo.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(quexiangongzuo);
    	quexiangongzuo.setUserid((Long)request.getSession().getAttribute("userId"));

        quexiangongzuoService.insert(quexiangongzuo);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody QuexiangongzuoEntity quexiangongzuo, HttpServletRequest request){
        //ValidatorUtils.validateEntity(quexiangongzuo);
        quexiangongzuoService.updateById(quexiangongzuo);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        quexiangongzuoService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<QuexiangongzuoEntity> wrapper = new EntityWrapper<QuexiangongzuoEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("yonghu")) {
			wrapper.eq("yonghuming", (String)request.getSession().getAttribute("username"));
		}

		int count = quexiangongzuoService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	







    /**
     * (按值统计)
     */
    @RequestMapping("/value/{xColumnName}/{yColumnName}")
    public R value(@PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName,HttpServletRequest request) {
        Map<String, Object> params = new HashMap<String, Object>();
        params.put("xColumn", xColumnName);
        params.put("yColumn", yColumnName);
        EntityWrapper<QuexiangongzuoEntity> ew = new EntityWrapper<QuexiangongzuoEntity>();
        String tableName = request.getSession().getAttribute("tableName").toString();
        if(tableName.equals("yonghu")) {
            ew.eq("yonghuming", (String)request.getSession().getAttribute("username"));
        }
        List<Map<String, Object>> result = quexiangongzuoService.selectValue(params, ew);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        for(Map<String, Object> m : result) {
            for(String k : m.keySet()) {
                if(m.get(k) instanceof Date) {
                    m.put(k, sdf.format((Date)m.get(k)));
                }
            }
        }
        return R.ok().put("data", result);
    }

    /**
     * (按值统计)时间统计类型
     */
    @RequestMapping("/value/{xColumnName}/{yColumnName}/{timeStatType}")
    public R valueDay(@PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName, @PathVariable("timeStatType") String timeStatType,HttpServletRequest request) {
        Map<String, Object> params = new HashMap<String, Object>();
        params.put("xColumn", xColumnName);
        params.put("yColumn", yColumnName);
        params.put("timeStatType", timeStatType);
        EntityWrapper<QuexiangongzuoEntity> ew = new EntityWrapper<QuexiangongzuoEntity>();
        String tableName = request.getSession().getAttribute("tableName").toString();
        if(tableName.equals("yonghu")) {
            ew.eq("yonghuming", (String)request.getSession().getAttribute("username"));
        }
        List<Map<String, Object>> result = quexiangongzuoService.selectTimeStatValue(params, ew);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        for(Map<String, Object> m : result) {
            for(String k : m.keySet()) {
                if(m.get(k) instanceof Date) {
                    m.put(k, sdf.format((Date)m.get(k)));
                }
            }
        }
        return R.ok().put("data", result);
    }

    /**
     * 分组统计
     */
    @RequestMapping("/group/{columnName}")
    public R group(@PathVariable("columnName") String columnName,HttpServletRequest request) {
        Map<String, Object> params = new HashMap<String, Object>();
        params.put("column", columnName);
        EntityWrapper<QuexiangongzuoEntity> ew = new EntityWrapper<QuexiangongzuoEntity>();
        String tableName = request.getSession().getAttribute("tableName").toString();
        if(tableName.equals("yonghu")) {
            ew.eq("yonghuming", (String)request.getSession().getAttribute("username"));
        }
        List<Map<String, Object>> result = quexiangongzuoService.selectGroup(params, ew);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        for(Map<String, Object> m : result) {
            for(String k : m.keySet()) {
                if(m.get(k) instanceof Date) {
                    m.put(k, sdf.format((Date)m.get(k)));
                }
            }
        }
        return R.ok().put("data", result);
    }
}

package com.controller;


import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;

/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UserController{
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private TokenService tokenService;

	/**
	 * 登录
	 */
	@IgnoreAuth
	@PostMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
		if(user==null || !user.getPassword().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
		return R.ok().put("token", token);
	}
	
	/**
	 * 注册
	 */
	@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
	
	/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
    	PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UserEntity user){
       	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }

    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
    	UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
    	if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
    		return R.error("用户名已存在。");
    	}
        userService.updateById(user);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

到了这里,关于微信小程序软件缺陷管理系统+ssm后端源码和论文的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序|高校宿舍信息管理系统小程序

    作者主页:编程指南针 作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容:Java项目、Python项目、前端项目、人工智能与大数据、简历模板、学习资料、面试题库

    2024年02月22日
    浏览(59)
  • 学校公寓管理系统/基于微信小程序的学校公寓管理系统

    社会的发展和科学技术的进步,互联网技术越来越受欢迎。 手机也 逐渐受到广大人民群众的喜爱,也逐渐进入了每个 学生 的使用。 手机 具有便利性,速度快,效率高,成本低等优点。 因此,构建符合自己要求的操作系统是非常有意义的。 本文从 管理员、学生、 公寓管理

    2024年02月13日
    浏览(52)
  • 微信小程序|ssm基于微信小程序的高校课堂教学管理系统

    作者主页:编程指南针 作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容:Java项目、Python项目、前端项目、人工智能与大数据、简历模板、学习资料、面试题库

    2024年02月21日
    浏览(56)
  • (微信小程序毕业设计源码)基于微信小程序商店管理系统源码成品

    项目获取请看文章最底下官网 商店管理系统是基于微信小程序,java编程语言和mysql数据库和idea开发工具作为后台,微信端采用微信开发工具开发。本系统分为用户和管理员两个角色,用户的主要功能有登陆微信小程序,查看促销资讯,商品分类,商品详情,加入购物车,生

    2024年02月14日
    浏览(52)
  • ssm微信小程序的图书管理系统

    对图书管理的流程进行科学整理、归纳和功能的精简,通过软件工程的研究方法,结合当下流行的互联网技术,最终设计并实现了一个简单、易操作的图书管理小程序。内容包括系统的设计思路、系统模块和实现方法。系统使用过程主要涉及到管理员和用户两种角色,主要包

    2024年04月23日
    浏览(40)
  • 基于微信小程序的教师管理系统

    随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,微信被用户普遍使用,为方便用户能够可以随时教师管理系统信息管理,特开发了基于微信小程序教师管理系

    2024年02月03日
    浏览(50)
  • 基于微信小程序的仓储管理系统

    文末获取源码 开发语言:Java 框架:SpringBoot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 浏览器:谷歌浏览器 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序运行软件:微信开发者 本网站利用java技

    2024年02月04日
    浏览(62)
  • 基于Java+微信小程序实现《医院管理系统小程序》

    博主介绍 : ✌ 全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精彩专栏 推荐订阅 👇🏻 不然下次找不到哟 2022-2024年

    2024年02月06日
    浏览(47)
  • 微信小程序毕业设计作品成品(88)微信小程序宠物领养管理系统设计与实现

    博主介绍:《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、PPT、论文模版等

    2024年02月08日
    浏览(40)
  • 微信小程序毕业设计作品成品(86)微信小程序自我健康管理系统设计与实现

    博主介绍:《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、PPT、论文模版等

    2024年02月08日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包