123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- package cn.efunbox.audio.controller;
- import cn.efunbox.audio.consts.Consts;
- import cn.efunbox.audio.entity.Admin;
- 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;
- /**
- * Created by yao on 17-9-26.
- */
- @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 Search(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());
- // System.out.println(pwdMD5);
- // System.out.println(admin.getPwd());
- if(pwdMD5.equalsIgnoreCase(admin.getPwd())){
- 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 = "/register", method = RequestMethod.POST)
- // public void Insert(HttpServletRequest request, HttpServletResponse response){
- // String name = request.getParameter("name");
- // String pwd = request.getParameter("pwd");
- // String idChannel = request.getParameter("idChannel");
- // if(name==null || name.length()<4 || pwd==null || pwd.length()<4){
- // HttpUtil.responseApiCode(request, response, ApiCode.PARAMETER_ERROR);
- // return;
- // }
- // if(idChannel==null || idChannel.length()==0)
- // idChannel = "0";
- // String salt = UUID.randomUUID().toString().replaceAll("-","");
- // String token = UUID.randomUUID().toString().replaceAll("-", "");
- // String pwdMD5 = Common.getMD5(Common.getMD5(pwd) + salt);
- //
- // List<Admin> list = adminService.SearchByName(name);
- // if(list!=null && list.size()>0){
- // HttpUtil.responseApiCode(request, response, ApiCode.RECORD_EXIST);
- // return;
- // }
- // Admin admin = new Admin();
- // admin.setName(name);
- // admin.setIdChannel(Long.valueOf(idChannel));
- // admin.setPwd(pwdMD5);
- // admin.setSalt(salt);
- // admin.setToken(token);
- // admin.setCreated(new Date());
- // admin = adminService.Insert(admin);
- // SaveRedis(admin);
- //
- // HttpUtil.responseOutWithJson(request, response, admin);
- // return;
- // }
- @RequestMapping(value = "/register", method = RequestMethod.POST)
- public void Insert(HttpServletRequest request, HttpServletResponse response, @RequestBody Admin admin){
- 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;
- }
- String salt = UUID.randomUUID().toString().replaceAll("-","");
- String token = UUID.randomUUID().toString().replaceAll("-", "");
- String pwdMD5 = Common.getMD5(Common.getMD5(pwd) + salt);
- List<Admin> list = adminService.SearchByName(name);
- if(list!=null && list.size()>0){
- HttpUtil.responseApiCode(request, response, ApiCode.RECORD_EXIST);
- return;
- }
- admin.setPwd(pwdMD5);
- admin.setSalt(salt);
- admin.setToken(token);
- admin.setCreated(new Date());
- admin = adminService.Insert(admin);
- SaveRedis(admin);
- HttpUtil.responseOutWithJson(request, response, admin);
- return;
- }
- /**
- * 将token放入redis
- * @param admin
- */
- public void SaveRedis(Admin admin){
- ValueOperations valueOperations = stringRedisTemplate.opsForValue();
- valueOperations.set(Consts.REDIS_ADMIN+admin.getId(), admin.getToken(), tokenExpire*3600, TimeUnit.SECONDS);
- }
- }
|