package com.wlz.controller;
import com.google.code.kaptcha.Producer;
import com.wlz.entity.Customer;
import com.wlz.service.CustomerService;
import com.wlz.util.PasswordUtils;
import com.wlz.util.Result;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* (Customer)表控制层
*
* @author scj
* @since 2023-05-30 14:24:41
*/
@RestController
@RequestMapping("customer")
public class CustomerController {
/**
* 服务对象
*/
@Resource
private CustomerService customerService;
@Resource(name = "captchaProducer")
private Producer producer;
/**
* 验证码
*/
@GetMapping("captcha")
public ResponseEntity<byte[]> captcha(HttpServletRequest request, HttpServletResponse response)throws IOException {
response.setHeader("Cache-Control", "no-store, no-cache");
response.setContentType("image/jpeg");
//生成文字验证码
String code = producer.createText();
//先清除之前的验证码
request.getSession().removeAttribute("captcha");
//设置验证码过期时间
request.getSession().setAttribute("captcha",code);
request.getSession().setMaxInactiveInterval(120);
//获取图片验证码
BufferedImage image = producer.createImage(code);
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
ImageIO.write(image, "jpg", outputStream);
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.IMAGE_JPEG);
return new ResponseEntity<>(outputStream.toByteArray(), headers, HttpStatus.OK);
}
/**
* 登录接口
*
* @param yanzm
* @param username
* @param password
* @return 登录状态
*/
@PostMapping ("login")
public Result login(HttpServletRequest request,String yanzm,String username,String password) {
String captcha = (String) request.getSession().getAttribute("captcha");
if (!yanzm.equals(captcha)){
return new Result(0,"验证码输入错误,请重新输入",200,false);
}
Customer u = customerService.getOneByUserName(username);
if (null==u){
return new Result(0,"该用户不存在,请先注册",200,false);
}
if (!u.getCPass().equals(PasswordUtils.encryptPassword(password))){
return new Result(0,"密码输入错误,请重新输入",200,false);
}
return new Result(1,"登录成功",200,u);
}
/**
* 注册
*
* @param customer 实体
* @return 注册结果
*/
@PostMapping("register")
public Result register(Customer customer) {
Customer u = customerService.getOneByUserName(customer.getCName());
if (null!=u){
return new Result(0,"该用户已存在,请尝试更改用户名",0,false);
}
customer.setCPass(PasswordUtils.encryptPassword(customer.getCPass()));
return new Result(0, "注册成功", this.customerService.insert(customer), true);
}
/**
* 分页查询查询所有
*
* @param map 筛选条件
* @return 查询结果
*/
@GetMapping("getAll")
public Result getAll(@RequestParam Map<String, Object> map) {
map.put("page", (Integer.parseInt(map.get("page").toString()) - 1) * Integer.parseInt(map.get("limit").toString()));
map.put("limit", Integer.parseInt(map.get("limit").toString()));
List<Map<String, Object>> all = this.customerService.getAll(map);
return new Result(0, "true",all.size() ,all );
}
/**
* 编辑数据
*
* @param customer 实体
* @return 编辑结果
*/
@PostMapping("update")
public Result edit(Customer customer) {
Customer u = customerService.getOneByUserName(customer.getCName());
if (!u.getCPass().equals(customer.getCPass())){
customer.setCPass(PasswordUtils.encryptPassword(customer.getCPass()));
}
return new Result(0, "修改成功", this.customerService.update(customer), true);
}
/**
* 删除数据
*
* @param cId 主键
* @return 删除是否成功
*/
@PostMapping("delete")
public Result deleteById(Integer cId) {
return new Result(0, "删除成功", this.customerService.deleteById(cId), true);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
ssm项目,登录注册、用户的修改删除和进去系统
共411个文件
gif:162个
js:54个
css:42个
需积分: 0 2 下载量 131 浏览量
2023-06-20
17:57:41
上传
评论
收藏 37.5MB RAR 举报
温馨提示
ssm项目,包含登录注册,用户的修改和删除。
资源推荐
资源详情
资源评论
收起资源包目录
ssm项目,登录注册、用户的修改删除和进去系统 (411个子文件)
CustomerController.class 6KB
CustomerController.class 6KB
Customer.class 5KB
Customer.class 5KB
Result.class 3KB
Result.class 3KB
uploadController.class 3KB
uploadController.class 3KB
PasswordUtils.class 2KB
PasswordUtils.class 2KB
ImageController.class 2KB
ImageController.class 2KB
CustomerServiceImpl.class 2KB
CustomerServiceImpl.class 2KB
KaptchaConfig.class 1KB
KaptchaConfig.class 1KB
CustomerMapper.class 662B
CustomerMapper.class 662B
CustomerService.class 551B
CustomerService.class 551B
layui.css 78KB
layui.css 78KB
layui.css 68KB
layui.css 68KB
layer.css 14KB
layer.css 14KB
layer.css 14KB
layer.css 14KB
layer.css 14KB
layer.css 14KB
xadmin.css 10KB
xadmin.css 10KB
layui.mobile.css 10KB
layui.mobile.css 10KB
laydate.css 7KB
laydate.css 7KB
laydate.css 7KB
laydate.css 7KB
laydate.css 7KB
laydate.css 7KB
login.css 2KB
login.css 2KB
code.css 1KB
code.css 1KB
code.css 1KB
code.css 1KB
code.css 1KB
code.css 1KB
theme4252.min.css 833B
theme4252.min.css 833B
theme5.css 616B
theme5.css 616B
font.css 521B
font.css 521B
theme4.css 329B
theme4.css 329B
theme1.css 324B
theme1.css 324B
theme3.css 318B
theme3.css 318B
theme2.css 309B
theme2.css 309B
iconfont.eot 48KB
iconfont.eot 48KB
iconfont.eot 46KB
iconfont.eot 46KB
iconfont.eot 40KB
iconfont.eot 40KB
59.gif 10KB
59.gif 10KB
22.gif 10KB
22.gif 10KB
24.gif 8KB
24.gif 8KB
13.gif 7KB
13.gif 7KB
16.gif 7KB
16.gif 7KB
39.gif 6KB
39.gif 6KB
64.gif 6KB
64.gif 6KB
63.gif 6KB
63.gif 6KB
50.gif 6KB
50.gif 6KB
loading-0.gif 6KB
loading-0.gif 6KB
loading-0.gif 6KB
loading-0.gif 6KB
loading-0.gif 6KB
loading-0.gif 6KB
4.gif 6KB
4.gif 6KB
1.gif 5KB
1.gif 5KB
42.gif 5KB
42.gif 5KB
71.gif 5KB
71.gif 5KB
共 411 条
- 1
- 2
- 3
- 4
- 5
资源评论
FirstTalent
- 粉丝: 195
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功