| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241 |
- package com.chuanghai.video.controller;
- import com.chuanghai.video.core.ResponseResult;
- import com.chuanghai.video.entity.Admin;
- import com.chuanghai.video.mapper.AdminMapper;
- import com.chuanghai.video.util.JwtUtil;
- import com.chuanghai.video.util.PasswordEncryptionUtil;
- import com.github.pagehelper.PageHelper;
- import com.github.pagehelper.PageInfo;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import java.sql.Timestamp;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- @RestController
- @RequestMapping("/videoAdmin")
- public class AdminController {
- @Autowired
- private JwtUtil jwtUtil;
- @Autowired
- private AdminMapper adminMapper;
- /**
- * 登录
- *
- * @param admin 用户对象
- * @return 返回响应
- */
- @PostMapping("/login")
- public ResponseResult login(@RequestBody Admin admin) {
- try {
- String username = admin.getUsername();
- String password = admin.getPassword();
- if (username == null || password == null)
- return ResponseResult.failed("【用户名】或【密码】为空!");
- Admin u = new Admin();
- u.setUsername(username);
- List<Admin> login = adminMapper.login(u);
- // 检验用户是否在数据库中
- if (login.size() > 0) {
- String s = encryption(password);
- if (s.equals(login.get(0).getPassword())) {
- // 生成token
- String token = jwtUtil.generateToken(username);
- Map<String, String> strMap = new HashMap<>();
- strMap.put("token", token);
- return ResponseResult.success(strMap);
- } else {
- return ResponseResult.failed("【用户名】或【密码】错误!");
- }
- } else {
- return ResponseResult.failed("【用户名】或【密码】错误!");
- }
- } catch (Exception e) {
- return ResponseResult.failed("登录失败:" + e.getMessage());
- }
- }
- /**
- * 管理员用户分页列表,查询分页等
- *
- * @param pageNum 当前页
- * @param pageSize 每页记录数
- * @param name 姓名
- * @param phone 手机
- * @param adminType 用户类型
- * @param startTime 开始时间
- * @param endTime 结束时间
- * @return 响应结果
- */
- @GetMapping("/list")
- public ResponseResult list(@RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
- @RequestParam(value = "pageSize", defaultValue = "10") int pageSize,
- @RequestParam(value = "name", required = false) String name,
- @RequestParam(value = "phone", required = false) String phone,
- @RequestParam(value = "adminType", required = false) String adminType,
- @RequestParam(value = "startTime", required = false) Timestamp startTime,
- @RequestParam(value = "endTime", required = false) Timestamp endTime) {
- if (pageSize < 1)
- return ResponseResult.failed("每页显示记录数必须大于0!");
- Admin admin = new Admin();
- admin.setPageNum(pageNum);
- admin.setPageSize(pageSize);
- if (!"null".equals(name))
- admin.setName(name);
- if (!"null".equals(phone))
- admin.setPhone(phone);
- if (adminType != null)
- admin.setAdminType(adminType);
- if (startTime != null)
- admin.setStartTime(startTime);
- if (endTime != null)
- admin.setEndTime(endTime);
- try {
- PageHelper.startPage(admin.getPageNum(), admin.getPageSize());
- List<Admin> admins = adminMapper.list(admin);
- PageInfo<Admin> adminPageInfo = new PageInfo<>(admins);
- return ResponseResult.success(adminPageInfo);
- } catch (Exception e) {
- return ResponseResult.failed("列表失败:" + e.getMessage());
- }
- }
- /**
- * 增加用户
- *
- * @param admin 用户对象
- * @return 响应对象
- */
- @PostMapping("/add")
- public ResponseResult add(@RequestBody Admin admin) {
- try {
- Boolean aBoolean = checkColumn(admin);
- if (aBoolean)
- return ResponseResult.failed("【用户名】、【密码】、【手机】和【用户类型】为空!");
- List<Admin> admins = adminMapper.queryByUsernameOrPhone(admin);
- if (admins.size() > 0)
- return ResponseResult.failed("【用户名】或【手机】已被注册!");
- admin.setPassword(encryption(admin.getPassword()));
- int i = adminMapper.add(admin);
- if (i == 1)
- return ResponseResult.success("添加用户成功!");
- else
- return ResponseResult.failed("添加用户失败!");
- } catch (Exception e) {
- return ResponseResult.failed("添加用户失败:" + e.getMessage());
- }
- }
- private Boolean checkColumn(Admin admin) {
- String username = admin.getUsername();
- String password = admin.getPassword();
- String phone = admin.getPhone();
- String adminType = admin.getAdminType();
- return username == null || password == null || phone == null || adminType == null;
- }
- /**
- * 修改用户
- *
- * @param admin 用户对象
- * @return 响应对象
- */
- @PostMapping("/update")
- public ResponseResult update(@RequestBody Admin admin) {
- try {
- Boolean aBoolean = checkColumn(admin);
- if (aBoolean)
- return ResponseResult.failed("【用户名】、【密码】、【手机】和【用户类型】为空!");
- List<Admin> admins = adminMapper.queryByUsernameOrPhoneOrOthers(admin);
- if (admins.size() > 0)
- return ResponseResult.failed("用户未修改任何内容!");
- admin.setPassword(encryption(admin.getPassword()));
- int i = adminMapper.update(admin);
- if (i == 1)
- return ResponseResult.success("修改用户成功!");
- else
- return ResponseResult.failed("修改用户失败!");
- } catch (Exception e) {
- return ResponseResult.failed("修改用户失败:" + e.getMessage());
- }
- }
- /**
- * 删除用户
- *
- * @param id 记录id
- * @return 响应对象
- */
- @GetMapping("/delete")
- public ResponseResult delete(@RequestParam(value = "id") String id) {
- try {
- if (id == null) {
- return ResponseResult.failed("【id】为空!");
- } else {
- int i = adminMapper.delete(id);
- if (i == 1)
- return ResponseResult.success("删除用户成功!");
- else
- return ResponseResult.failed("可能没有对应的id,删除用户失败!");
- }
- } catch (Exception e) {
- return ResponseResult.failed("删除用户失败:" + e.getMessage());
- }
- }
- /**
- * 修改密码
- *
- * @param admin
- * @return
- */
- @PostMapping("/updatePassword")
- public ResponseResult updatePassword(@RequestBody Admin admin) {
- try {
- String id = admin.getId();
- String password = admin.getPassword();
- if (id == null || password == null)
- return ResponseResult.failed("【id】或【密码】为空!");
- // 加密处理
- admin.setPassword(encryption(admin.getPassword()));
- int i = adminMapper.update(admin);
- if (i == 1)
- return ResponseResult.success("修改密码成功!");
- else
- return ResponseResult.failed("修改密码失败!");
- } catch (Exception e) {
- return ResponseResult.failed("修改密码失败:" + e.getMessage());
- }
- }
- /**
- * 加密
- *
- * @param password
- * @return
- */
- private String encryption(String password) {
- return PasswordEncryptionUtil.md5Hash(PasswordEncryptionUtil.sha2Hash(password));
- }
- }
|