diff --git a/src/main/java/com/bsd/cases/controller/CaseIndexController.java b/src/main/java/com/bsd/cases/controller/CaseIndexController.java new file mode 100644 index 0000000..003926c --- /dev/null +++ b/src/main/java/com/bsd/cases/controller/CaseIndexController.java @@ -0,0 +1,174 @@ +package com.bsd.cases.controller; + +import com.alibaba.fastjson.JSONObject; +import com.bsd.cases.model.CaseUsers; +import com.bsd.cases.service.CaseUsersService; +import com.bsd.cases.util.AjaxResult; +import com.bsd.cases.util.JWTUtil; +import com.bsd.cases.util.LogUtils; +import com.bsd.cases.util.WechatAccessUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.apache.shiro.authz.annotation.RequiresAuthentication; +import org.slf4j.Logger; +import org.springframework.http.HttpStatus; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; + +@Api("后台登录API") +@RestController +@RequestMapping("api") +@CrossOrigin +public class CaseIndexController { + + + Logger logger = LogUtils.getBussinessLogger(); + + String mofang = "876215850057f8245d2bd82554bd7e7c"; + String erp = "cb472ab819ba7209e37fbf0e501a2964"; + @Resource + private CaseUsersService caseUsersService; + + + @RequiresAuthentication + @ApiOperation(value = "获取当前用", notes = "获取当前用户,只需要在Header设置token,不需要传参") + @GetMapping("user") + public AjaxResult currentUser() { + + AjaxResult ajaxResult = new AjaxResult(); + ajaxResult.setRetcode(AjaxResult.SUCCESS); + CaseUsers caseUsers = caseUsersService.currentUser(); + ajaxResult.setData(caseUsers); + return ajaxResult; + } + + @ApiOperation(value = "微信登录", notes = "微信登录") + @ApiImplicitParams({ + @ApiImplicitParam(name = "code", value = "微信授权code") + }) + + @PostMapping("autologin") + public AjaxResult autoLogin(String params) { + + + AjaxResult ajaxResult = new AjaxResult(); + try { + String token = caseUsersService.autoLogin(params); + ajaxResult.setRetcode(AjaxResult.SUCCESS); + ajaxResult.setData(token); + ajaxResult.setRetmsg("自动登录成功"); + } catch (RuntimeException e) { + + e.printStackTrace(); + ajaxResult.setRetmsg("自动登录失败:" + e.getMessage()); + ajaxResult.setRetcode(AjaxResult.FAILED); + } + return ajaxResult; + + } + + @ApiOperation(value = "后台登录", notes = "后台登录") + @ApiImplicitParams({ + @ApiImplicitParam(name = "userName", value = "用户名"), + @ApiImplicitParam(name = "password", value = "密码") + }) + @PostMapping("adminlogin") + public AjaxResult adminLogin(@RequestBody JSONObject params) { + + AjaxResult ajaxResult = new AjaxResult(); + try { + String userName = params.getString("userName"); + String password = params.getString("password"); + if (null == userName) { + + ajaxResult.setRetmsg("登录失败, 用户名或密码错误!"); + ajaxResult.setRetcode(AjaxResult.FAILED); + } else { + + CaseUsers caseUsers = caseUsersService.findUser(userName, password); + ajaxResult.setData(JWTUtil.sign(caseUsers.getUserNo())); + ajaxResult.setRetmsg("登录成功"); + ajaxResult.setRetcode(AjaxResult.SUCCESS); + } + + } catch (Exception e) { + + e.printStackTrace(); + ajaxResult.setRetmsg("登录失败, 用户名或密码错误!"); + ajaxResult.setRetcode(AjaxResult.FAILED); + } + return ajaxResult; + } + + + @ApiOperation(value = "通过用户工号获取用户信息PC", notes = "通过用户工号获取用户信息PC") + @ApiImplicitParams({ + @ApiImplicitParam(name = "userNo", value = "userNo") + }) + + @PostMapping("findbyuserno") + public AjaxResult findByUserno(@RequestBody JSONObject params) { + + AjaxResult ajaxResult = new AjaxResult(); + try { + CaseUsers caseUsers = caseUsersService.findByUserNo(params); + ajaxResult.setRetcode(AjaxResult.SUCCESS); + ajaxResult.setData(caseUsers); + ajaxResult.setRetmsg("获取用户信息成功"); + if (caseUsers == null) { + + ajaxResult.setRetcode(AjaxResult.FAILED); + ajaxResult.setRetmsg("查询用户信息不存在"); + } + + } catch (RuntimeException e) { + + e.printStackTrace(); + ajaxResult.setRetmsg("用户已报名活动"); + ajaxResult.setRetcode(AjaxResult.FAILED); + + } catch (Exception e) { + + e.printStackTrace(); + ajaxResult.setRetmsg("获取用户信息失败:" + e.getMessage()); + ajaxResult.setRetcode(AjaxResult.FAILED); + } + return ajaxResult; + } + + + @RequestMapping("/401") + @ResponseStatus(HttpStatus.UNAUTHORIZED) + public AjaxResult unauthorized(HttpServletResponse servletResponse) { + + AjaxResult ajaxResult = new AjaxResult(); + ajaxResult.setRetmsg("用户认证失败"); + ajaxResult.setRetcode(401); + return ajaxResult; + } + + @RequestMapping("wxconfig") + public AjaxResult wxconfig(String url) { + + AjaxResult ajaxResult = new AjaxResult(); + try { + + JSONObject jsonObject = WechatAccessUtils.share(url); + ajaxResult.setData(jsonObject); + ajaxResult.setRetcode(AjaxResult.SUCCESS); + ajaxResult.setRetmsg("获取微信配置成功"); + } catch (Exception e) { + + e.printStackTrace(); + ajaxResult.setRetmsg("自动登录失败:" + e.getMessage()); + ajaxResult.setRetcode(AjaxResult.FAILED); + } + return ajaxResult; + } + + +} diff --git a/src/main/java/com/bsd/cases/service/CaseUsersService.java b/src/main/java/com/bsd/cases/service/CaseUsersService.java index 4e3f533..82d4c97 100644 --- a/src/main/java/com/bsd/cases/service/CaseUsersService.java +++ b/src/main/java/com/bsd/cases/service/CaseUsersService.java @@ -15,6 +15,8 @@ public interface CaseUsersService { CaseUsers selectByUserNoOrOpenId(String key); + CaseUsers findByUserNo(JSONObject jsonObject); + CaseUsers findByUserNo(String userNo); CaseUsers currentUser(); @@ -29,7 +31,6 @@ public interface CaseUsersService { List importFromExcel(String uploadPath, String fileName) throws IOException; - CaseUsers detail(JSONObject params); void delete(JSONObject params);