适用
课程设计,大作业,毕业设计,项目练习,学习演示等
public String visRecordPage() {
return "page/record/visRecord";
}
@RequestMapping("/vistors")
public String vistorsPage() {
return "page/vistor/vistors";
}
@RequestMapping("/vistor")
public String vistorPage() {
return "page/vistor/vistor";
}
@RequestMapping("/address")
public String addressPage() {
deleted = 0
<if test="keyword != null and keyword != ''">
and CONCAT(rec_id,rec_personId,rec_orderadd) like CONCAT('%',#{keyword},'%')
</if>
</where>
</select>
<insert id="addRecordRes" parameterType="com.demo.dto.RecordDto">
insert into tb_record(rec_id,rec_time,rec_type,rec_personId,rec_perType,rec_orderadd,rec_tempera,rec_remark)
values(#{recId},#{recTime},#{recType},#{recPersonId},#{recPerType},#{recOrderadd},#{recTempera},#{recRemark})
</insert>
.welcome .icon-tip {
color: #ff5722 !important;
}
.welcome .layuimini-qiuck-module {
text-align: center;
margin-top: 10px
}
.welcome .layuimini-qiuck-module a i {
display: inline-block;
width: 100%;
height: 60px;
line-height: 60px;
text-align: center;
border-radius: 2px;
font-size: 30px;
background-color: #F8F8F8;
color: #333;
transition: all .3s;
-webkit-transition: all .3s;
}
.welcome .layuimini-qiuck-module a cite {
public String logout() {
Subject subject = SecurityUtils.getSubject();
subject.logout();
return "redirect:login";
}
}
package com.demo.utils;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.InjectionConfig;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.po.TableFill;
import com.baomidou.mybatisplus.generator.config.po.TableInfo;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import java.util.ArrayList;
import java.util.List;
/**
<where>
v.deleted = 0
<if test="keyword != null and keyword != ''">
and CONCAT(vis_id,vis_name,vis_phone) like CONCAT('%',#{keyword},'%')
</if>
</where>
</select>
<select id="queryVisitorById" parameterType="integer" resultType="com.demo.dto.VistorDto">
select vis_id, add_id, vis_name, vis_phone, vis_remark
from tb_visitor
where vis_id = #{visId}
and deleted = 0
</select>
<insert id="addVistor" parameterType="com.demo.dto.VistorDto">
insert into tb_visitor(add_id, vis_name, vis_phone, vis_remark)
values (#{addId}, #{visName}, #{visPhone}, #{visRemark})
</insert>
// 策略配置
StrategyConfig strategy = new StrategyConfig();
//设置映射的表
strategy.setInclude("tb_menu");
strategy.setNaming(NamingStrategy.underline_to_camel);
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
strategy.setEntityLombokModel(true);
strategy.setRestControllerStyle(true);
// 逻辑删除字段
strategy.setLogicDeleteFieldName("deleted");
// 乐观锁字段配置
strategy.setVersionFieldName("version");
// 去掉表tb_xxx的前缀
strategy.setTablePrefix("tb_");
salt.setSaltStatus(1);
usersaltMapper.updateById(salt);
//注册码被使用后 及时进行删除
QueryWrapper<UsersaltDto> deleteWrapper = new QueryWrapper<>();
deleteWrapper.eq("salt_text",userDto.getUserSalt());
usersaltMapper.delete(deleteWrapper);
return Result.ok("用户"+userDto.getAccount()+"注册成功!");
}
}
package com.demo.config;
import at.pollux.thymeleaf.shiro.dialect.ShiroDialect;
import com.demo.common.RetryLimitCredentialsMatcher;
import com.demo.realm.MyShiroRealm;
import net.sf.ehcache.CacheManager;
import org.apache.shiro.cache.ehcache.EhCacheManager;
import org.apache.shiro.codec.Base64;
import org.apache.shiro.io.ResourceUtils;
import org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor;
import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
import org.apache.shiro.web.mgt.CookieRememberMeManager;
import org.apache.shiro.web.mgt.DefaultWebSecurityManager;
import org.apache.shiro.web.servlet.SimpleCookie;
layer.msg('请选择要删除的数据', {icon: 2});
return;
}
layer.confirm('确定删除选中数据?', {icon: 3, title: "登记信息管理"}, function (index) {
//关闭确认框
layer.close(index);
//传递的参数是数组,获取传递的ID
var ids = "ids=";
//循环获取选中的行的数据
for (var i = 0; i < saleChanceData.length; i++) {
if (i < saleChanceData.length - 1) {
ids = ids + saleChanceData[i].recId + "&ids="
} else {
ids = ids + saleChanceData[i].recId
}
}
//向服务器发送删除指令 多个删除
$.ajax({
url: '/records/deleteRecords',
type: 'POST',
data: ids,
success: function (suc) {
if (suc.code == '200') {
layer.msg("删除记录成功!", {icon: 6, time: 1000});
parent.window.location.reload();
import com.demo.dto.UserDto;
import com.demo.realm.MyShiroRealm;
import com.demo.service.UserService;
import com.demo.utils.CookieUtil;
import com.demo.utils.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.ExcessiveAttemptsException;
import org.apache.shiro.authc.IncorrectCredentialsException;
import org.apache.shiro.authc.UnknownAccountException;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.session.Session;
import org.apache.shiro.subject.Subject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
// 获取被选中记录对应的数据
var saleChanceData = checkStatus.data;
if (saleChanceData.length === 0) {
layer.msg('请选择要删除的数据', {icon: 2});
return;
}
layer.confirm('确定删除选中数据?', {icon: 3, title: "住户信息管理"}, function (index) {
//关闭确认框
layer.close(index);
//传递的参数是数组,获取传递的ID
var ids = "ids=";
//循环获取选中的行的数据
for (var i = 0; i < saleChanceData.length; i++) {
if (i < saleChanceData.length - 1) {
ids = ids + saleChanceData[i].resId + "&ids="
} else {
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
技术框架
SpringBoot SpringMVC MyBatis Shiro Thymeleaf HTML JavaScript Layui……
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
住户、高风险住户、住户出入、访客出入、体温录入、用户等管理