package com.controller;
import java.text.SimpleDateFormat;
import java.util.*;
import javax.servlet.http.HttpServletRequest;
import com.annotation.IgnoreAuth;
import com.entity.JingliEntity;
import com.entity.ShenshuEntity;
import com.service.JingliService;
import com.service.ShenshuService;
import com.service.TokenService;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.entity.XuanshouEntity;
import com.service.XuanshouService;
import com.utils.PageUtils;
import com.utils.R;
/**
* 人员表
* 后端接口
* @author
* @email
* @date 2021-03-02
*/
@RestController
@Controller
@RequestMapping("/xuanshou")
public class XuanshouController {
private static final Logger logger = LoggerFactory.getLogger(XuanshouController.class);
@Autowired
private XuanshouService xuanshouService;
@Autowired
private JingliService jingliService;
@Autowired
private ShenshuService shenshuService;
@Autowired
private TokenService tokenService;
/**
* 登录
*/
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String role, HttpServletRequest request) {
XuanshouEntity user = xuanshouService.selectOne(new EntityWrapper<XuanshouEntity>().eq("account", username));
if(user != null){
if(!user.getRole().equals(role)){
return R.error("权限不正常");
}
if(user==null || !user.getPassword().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(),user.getName(), "users", user.getRole());
return R.ok().put("token", token);
}else{
return R.error("账号或密码或权限不对");
}
}
/**
* 获取用户的session用户信息
*/
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Integer id = (Integer)request.getSession().getAttribute("userId");
XuanshouEntity user = xuanshouService.selectById(id);
return R.ok().put("data", user);
}
/**
* 注册
*/
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody XuanshouEntity user){
// ValidatorUtils.validateEntity(user);
if(xuanshouService.selectOne(new EntityWrapper<XuanshouEntity>().eq("account", user.getAccount())) !=null) {
return R.error("选手或教练已存在");
}
xuanshouService.insert(user);
return R.ok();
}
/**
* 退出
*/
@GetMapping(value = "logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
/**
* 密码重置
*/
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
XuanshouEntity user = xuanshouService.selectOne(new EntityWrapper<XuanshouEntity>().eq("account", username));
if(user==null) {
return R.error("账号不存在");
}
user.setPassword("123456");
xuanshouService.update(user,null);
return R.ok("密码已重置为:123456");
}
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){
logger.debug("Controller:"+this.getClass().getName()+",page方法");
Object role = request.getSession().getAttribute("role");
PageUtils page = null;
if(role.equals("选手") || role.equals("教练")){
params.put("yh",request.getSession().getAttribute("userId"));
params.put("qx",role);
page = xuanshouService.queryPage(params);
}else if(role.equals("经理")) {
Integer userId = (Integer) request.getSession().getAttribute("userId");
JingliEntity jingliEntity = jingliService.selectById(userId);
if(jingliEntity == null){
return R.error();
}
params.put("jlbTypes", jingliEntity.getJlbTypes());
page = xuanshouService.queryPage(params);
}else{
page = xuanshouService.queryPage(params);
}
return R.ok().put("data", page);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
logger.debug("Controller:"+this.getClass().getName()+",info方法");
XuanshouEntity xuanshou = xuanshouService.selectById(id);
if(xuanshou!=null){
return R.ok().put("data", xuanshou);
}else {
return R.error(511,"查不到数据");
}
}
/**
* 后端保存
*/
@IgnoreAuth
@RequestMapping("/save")
public R save(@RequestBody XuanshouEntity xuanshou, HttpServletRequest request){
logger.debug("Controller:"+this.getClass().getName()+",save");
Wrapper<XuanshouEntity> queryWrapper = new EntityWrapper<XuanshouEntity>()
.eq("name", xuanshou.getName())
.eq("account", xuanshou.getAccount())
.eq("jlb_types", xuanshou.getJlbTypes())
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
XuanshouEntity xuanshouEntity = xuanshouService.selectOne(queryWrapper);
if("".equals(xuanshou.getImgPhoto()) || "null".equals(xuanshou.getImgPhoto())){
xuanshou.setImgPhoto(null);
}
if(xuanshouEntity==null){
xuanshou.setZtTypes(1);
xuanshouService.insert(xuanshou);
return R.ok();
}else {
return R.error(511,"数据重复,请从新输入");
}
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody XuanshouEntity xuanshou, HttpServletRequest request){
logger.debug("Controller:"+this.getClass().getName()+",update");
//根据字段查询是否有相同数据
Wrapper<XuanshouEntity> queryWrapper = new EntityWrapper<XuanshouEntity>()
.notIn("id",xuanshou.getId())
.eq("name", xuanshou.getName())
.eq("account", xuanshou.getAccount())
.eq("jlb_types", xuanshou.getJlbTypes())
.eq("role", xuanshou.getRole())
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
XuanshouEntity xuanshouEntity = xuanshouService.selectOne(queryWrapper);
if("".equals(xuanshou.getImgPhoto()) || "null".equals(xuanshou.getImgPhoto())){
xuanshou.setImgPhoto(null);
}
if(xuanshouEntity==null){
xuanshouService.updateById(xuanshou);//根据id更新
return R.ok();
}else {
return R.error(511,"表中有相同数据");
}
}
/**
* 同意
*/
@RequestMapping("/consent")
public R consent(@RequestBody Integer ids){
ShenshuEntity shenshu = shenshuService.selectById(ids);
if(shenshu==null){
return R.error();
}
XuanshouEntity xuanshou = xuanshouService.selectById(shenshu.getXsTypes());
if(xuanshou == null){
return R.error();
}
if(xuanshou.getZtTypes() == 1){
return R.error("您已经同意过了,请不要重复按同意按钮");
}
xuanshou.setZtTypes(1);
xuanshouService.updateById(xuanshou);
return R.ok();
}
/**
* 同意转会
*/
@RequestMapping("/consentTransfer")
public R consentTransfer(@RequestBody Integer ids){
ShenshuEnt
热爱技术。
- 粉丝: 2977
- 资源: 7864
最新资源
- 基于matlab车牌识别,bp和模板匹配法的比较,这一套模板匹配法我给调好了都可以随便添加图片,目前有四十多张,这个是我自己做的,所以可讲解,程序不重要,重要的是讲解不是嘛 bp也就七八张,这个需要
- Java毕设项目:基于spring+mybatis+maven+mysql实现的汽车站车辆运管管理系统【含源码+数据库+毕业论文】
- 基于Matlab simulink的电力电子基础仿真 1.单相半波可控整流电路电阻负载 2. 单相半波可控整流电阻电感负载 3. 单相半波可控整流电路电阻电感负载带续流二极管4. 单相桥式全控整流电路
- 车牌识别matlab 操作简单到手直接用 可识别50多张图片 程序有注释 灰度化二值化定位分割识别等等 包含一份文档 需要的直接拿 保证可以运行 基于matlab的车牌识别,这是先读入图片,在裁剪
- matlab simulink 风电调频,双馈风机,四机两区系统,对风机附加惯性控制,下垂控制,风电渗透率为10%,故障设置为200MW负荷扰动,童叟无欺 用phasor模型,仿真只需要20秒 仿真速
- matlab 智能优化算法 基于自私羊群优化算法求解单目标优化问题
- Java毕设项目:基于spring+mybatis+maven+mysql实现的社区管理系统【含源码+数据库+毕业论文】
- 欧姆龙CP1H-XA40DT-D功能完好,可学习模拟量.通讯.脉冲等,开发机配台达通讯程序
- 电力系统机组调度 考虑了源荷不确定性 求解:matlab+yalmip+gurobi作为求解器) 内容:考虑源荷两侧不确定性的含风电的低碳调度,引入模糊机会约束,程序包括储能、风光、火电机组及水电机组
- Java毕设项目:基于spring+mybatis+maven+mysql实现的体育馆管理系统【含源码+数据库+毕业论文】
- Java毕设项目:基于spring+mybatis+maven+mysql实现的传统文化网站管理系统【含源码+数据库+毕业论文】
- 预弯成型切断机(sw18可编辑+工程图)全套设计资料100%好用.zip
- Java毕设项目:基于spring+mybatis+maven+mysql实现的台球厅管理系统台球管理系统【含源码+数据库+毕业论文】
- Java毕设项目:基于spring+mybatis+maven+mysql实现的培训学校教学管理系统【含源码+数据库+毕业论文】
- LabVIEW基于欧姆龙PLC串口通讯教学,
- 风电场可靠性评估序贯蒙特卡洛 标价即卖价,不议价,不,程序是可以运行的 (非完全复现) 仿真平台:MATLAB 拿后前可以看运行结果,参考文档见图,出不 不 出不 不 联系留邮箱,留邮箱
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈