package com.fuzamei.controller; import com.fuzamei.entity.User; import com.fuzamei.entity.UserConnectEnterprise; import com.fuzamei.service.ConnectService; import com.fuzamei.service.UserService; import com.fuzamei.util.ResponseUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import java.util.Date; import java.util.List; import java.util.logging.Logger; import static com.fuzamei.enums.CodeEnum.*; import static com.fuzamei.util.MD5.parseStrToMd5L32; import static com.fuzamei.util.ResponseUtil.getResult; /** * Created by sqc95 on 2018/4/28. */ @RestController @RequestMapping(path = "/user") public class UserController { @Autowired @Resource UserService userService; @Autowired ConnectService connectService; Logger logger; final int USER_ID_LENGTH= 2; @ResponseBody @RequestMapping(path = "/test", method = RequestMethod.GET) public String test() { return "123"; } /** * @Author: SongQiCong * @Description: 仅用于测试 * @Date: 2018/5/14 * @function: 展示用户表 */ @ResponseBody @RequestMapping(path = "/selectAllUser", method = RequestMethod.GET) public List findAll() { List list = userService.findAll(); Logger.getLogger(userService.findAll().toString()); return list; } /** * @Author: SongQiCong * @Description: 仅用于测试 * @Date: 2018/5/14 * @function: 通过ID查找用户 */ @RequestMapping(path = "/findID", method = RequestMethod.POST) public User findUserById(@RequestBody User user //@RequestParam Integer userID ) { int userID = user.getUserID(); Logger.getLogger(userService.findUserById(userID).toString()); return userService.findUserById(userID); } /** * @Author: SongQiCong * @Description: 仅用于测试 * @Date: 2018/5/14 * @function: 删除用户 */ @RequestMapping(path = "/delete", method = RequestMethod.POST) public List deleteUser(@RequestParam Integer userID) { userService.deleteUser(userID); return userService.findAll(); } /** * @Author: SongQiCong * @Description: 仅用于测试 * @Date: 2018/5/14 * @function: 增加用户 */ @RequestMapping(path = "/add", method = RequestMethod.POST) public List addUser(@RequestBody User user) { String code = user.getPassword();//获得明文密码 Date day = new Date(); user.setPassword(parseStrToMd5L32(code)); userService.addUser(user); return userService.findAll(); } /** * @Author: SongQiCong * @Description: 主要用于 password重置后 重新加密 用户管理修改信息 * @Date: 2018/5/14 * @function: 更新数据 */ @RequestMapping(path = "/update", method = RequestMethod.POST) public User updateUser(@RequestBody User user) { String userTel = user.getUserTel();//Tel int userID = user.getUserID(); User user2 = userService.findUserById(userID); user2.setUserName(user.getUserName()); user2.setUserAge(user.getUserAge()); user2.setUserTel(user.getUserTel()); user2.setPassword(parseStrToMd5L32(user.getPassword())); userService.updateUser(user2); return user; } /** * @Author: SongQiCong * @Description: 只输入tel password即可封装成user类 校验是否已存在相同账号 * @Date: 2018/5/14 * @function: 用户注册 */ @RequestMapping(path = "/registry", method = RequestMethod.POST) public ResponseUtil registryDetect(@RequestBody User user) { List list = userService.findUserByTel(user.getUserTel()); if (!list.isEmpty()) return getResult(REGISTRY_FAIL.getCode(),false,null); else { user.setPassword(parseStrToMd5L32(user.getPassword())); userService.registry(user); return getResult(REGISTRY_SUCCESS.getCode(),true,null); } } /** * @Author: SongQiCong * @Description: 同样使用tel password登录 校验账号是否存在 密码校对 * @Date: 2018/5/14 * @function: 用户登录 */ @RequestMapping(path = "/login", method = RequestMethod.POST) public ResponseUtil loginDetect(@RequestBody User user,HttpServletRequest request) { User u =userService.login(user.getUserTel(),parseStrToMd5L32(user.getPassword())); if(u!=null) { HttpSession session = request.getSession(); session.setAttribute("user", u); int userID= u.getUserID(); UserConnectEnterprise userConnectEnterprise= connectService.findInfoByUserID(userID); if(userConnectEnterprise==null) return getResult(LOGIN_SUCCESS.getCode(),true,null); String enterpriseName=userConnectEnterprise.getEnterpriseName(); return getResult(LOGIN_SUCCESS.getCode(),true,enterpriseName); }else return getResult(LOGIN_FAIL.getCode(),false,null); } /** * @Author: SongQiCong * @Description: 登录状态token校验 账号真实存在校验 * @Date: 2018/5/14 * @function: 注销用户登录状态 */ @RequestMapping(path = "/logout", method = RequestMethod.POST) public ResponseUtil logout(HttpServletRequest request) { HttpSession session = request.getSession(); session.setAttribute("user",null); return getResult(LOGOUT_SUCCESS.getCode(),true,null); } @RequestMapping(path = "/changeCode",method = RequestMethod.POST) public ResponseUtil changeCode(@RequestParam String theNewOne, @RequestParam String theNewForconfirm, HttpServletRequest request){ if(!theNewOne.equals(theNewForconfirm)){ return getResult(DIFFERENT_PASSWORD.getCode(),false,null); } if(theNewOne.equals(theNewForconfirm)){ HttpSession session = request.getSession(); User user = (User)session.getAttribute("user"); int userID= user.getUserID(); if(!theNewOne.equals(user.getPassword())) user.setPassword(theNewOne); updateUser(user); return getResult(CHANGE_SUCCESS.getCode(),true,null); } return getResult(NO_CHANGE.getCode(),false,null); } }