123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 |
- package cn.efunbox.audio.controller;
- import cn.efunbox.audio.consts.Consts;
- import cn.efunbox.audio.entity.Admin;
- import cn.efunbox.audio.entity.Channel;
- import cn.efunbox.audio.service.AdminService;
- import cn.efunbox.audio.utils.ApiCode;
- import cn.efunbox.audio.utils.Common;
- import cn.efunbox.audio.utils.HttpUtil;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.data.redis.core.StringRedisTemplate;
- import org.springframework.data.redis.core.ValueOperations;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RestController;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.util.Date;
- import java.util.List;
- import java.util.UUID;
- import java.util.concurrent.TimeUnit;
- @RestController
- @Slf4j
- @RequestMapping(value = "/admin")
- public class AdminController {
- @Autowired
- AdminService adminService;
- @Autowired
- StringRedisTemplate stringRedisTemplate;
- @Value("${admin.token.expire}")
- int tokenExpire = 24*30;
- @RequestMapping(value = "/login" ,method = RequestMethod.POST)
- public void Login(HttpServletRequest request, HttpServletResponse response){
- String name = request.getParameter("name");
- String pwd = request.getParameter("pwd");
- if(name==null && pwd==null){
- HttpUtil.responseApiCode(request, response, ApiCode.PARAMETER_ERROR);
- return;
- }
- List<Admin> list = adminService.SearchByName(name);
- if(list==null || list.size()<1){
- HttpUtil.responseApiCode(request, response, ApiCode.NOT_FOUND);
- return;
- }
- Admin admin = list.get(0);
- String pwdMD5 = Common.getMD5(Common.getMD5(pwd)+admin.getSalt());
- if(pwdMD5.equalsIgnoreCase(admin.getPwd())){
- if(admin.getStatus()<0){
- HttpUtil.responseApiCode(request, response, ApiCode.ACCESS_DENIED);
- return;
- }
- String token = UUID.randomUUID().toString().replaceAll("-", "");
- admin.setToken(token);
- adminService.Update(admin);
- admin.setPwd("");
- admin.setSalt("");
- SaveRedis(admin);
- HttpUtil.responseOkData(request, response, admin);
- }else
- HttpUtil.responseApiCode(request, response, ApiCode.INVALID_TOKEN);
- return;
- }
- @RequestMapping(value = "/search" ,method = RequestMethod.POST)
- public void Search(HttpServletRequest request, HttpServletResponse response){
- List<Admin> adminList = adminService.SearchAll();
- HttpUtil.responseOkData(request, response, adminList);
- return;
- }
- @RequestMapping(value = "/register", method = RequestMethod.POST)
- public void Register(HttpServletRequest request, HttpServletResponse response, @RequestBody Admin admin){
- InsertUpdate(request, response, admin);
- }
- @RequestMapping(value = "/update", method = RequestMethod.POST)
- public void Update(HttpServletRequest request, HttpServletResponse response, @RequestBody Admin admin){
- InsertUpdate(request, response, admin);
- }
- public void InsertUpdate(HttpServletRequest request, HttpServletResponse response, Admin admin){
- if(admin.getId()==null){
- String name = admin.getName();
- String pwd = admin.getPwd();
- if(name==null || name.length()<4 || pwd==null || pwd.length()<4){
- HttpUtil.responseApiCode(request, response, ApiCode.PARAMETER_ERROR);
- return;
- }
- List<Admin> list = adminService.SearchByName(name);
- if(list!=null && list.size()>0){
- HttpUtil.responseApiCode(request, response, ApiCode.RECORD_EXIST);
- return;
- }
- admin.setCreated(new Date());
- }
- if(admin.getPwd()!=null){
- String pwd = admin.getPwd();
- String salt = UUID.randomUUID().toString().replaceAll("-","");
- String token = UUID.randomUUID().toString().replaceAll("-", "");
- String pwdMD5 = Common.getMD5(Common.getMD5(pwd) + salt);
- admin.setPwd(pwdMD5);
- admin.setSalt(salt);
- admin.setToken(token);
- }
- admin = adminService.Insert(admin);
- SaveRedis(admin);
- HttpUtil.responseOutWithJson(request, response, admin);
- return;
- }
-
- public void SaveRedis(Admin admin){
- ValueOperations valueOperations = stringRedisTemplate.opsForValue();
- valueOperations.set(Consts.REDIS_ADMIN+admin.getId(), admin.getToken(), tokenExpire*3600, TimeUnit.SECONDS);
- }
- }
|