package com.hz.employmentsite.controller; import com.github.pagehelper.PageInfo; import com.hz.employmentsite.filter.exception.BaseException; import com.hz.employmentsite.filter.exception.BaseResponse; import com.hz.employmentsite.filter.exception.RespGenerstor; import com.hz.employmentsite.model.SysMenu; import com.hz.employmentsite.services.service.AccountService; import com.hz.employmentsite.services.service.UserService; import com.hz.employmentsite.util.DateUtils; import com.hz.employmentsite.util.DesUtils; import com.hz.employmentsite.util.JsonMapper; import com.hz.employmentsite.vo.DesModel; import com.hz.employmentsite.vo.user.UserEditVo; import com.hz.employmentsite.vo.user.UserInfoModel; import lombok.Data; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.util.HashMap; import java.util.Map; import java.util.UUID; @RestController @RequestMapping(value = "/api/user") public class UserController { @Autowired JsonMapper jsonMapper; @Autowired DesUtils desUtils; @Autowired DateUtils dateUtils; @Autowired private UserService userService; @Autowired public AccountService accountService; @ResponseBody @GetMapping("/getUserList") public BaseResponse getUserList(@RequestParam("page") int pageIndex, @RequestParam("limit") int pageSize, @RequestParam(required = false) String name, @RequestParam(required = false) String loginID, @RequestParam(required = false) Integer sex, @RequestParam(required = false) Integer recordStatus, @RequestParam(required = false) Integer userType) { PageInfo> result = userService.getUserList(pageIndex, pageSize, name, loginID, sex, recordStatus, userType); return RespGenerstor.success(result); } @ResponseBody @GetMapping("/getUserInfo") public BaseResponse getUserInfo(@RequestParam("userId") String userId) { var data = userService.getUserInfo(userId); if (data == null) { data = new UserInfoModel(); data.userID = UUID.randomUUID().toString(); } return RespGenerstor.success(data); } @PostMapping("save") public BaseResponse save(@RequestBody UserEditVo data) throws Exception { return RespGenerstor.success(userService.save(data,accountService.getLoginUserID())); } @ResponseBody @GetMapping("/updateUserStatus") public BaseResponse> updateUserStatus(String userId, Integer status) { return RespGenerstor.success(userService.updateUserStatus(userId, status)); } @PostMapping("updatePassword") public BaseResponse updatePassword(HttpServletRequest request, @RequestBody ReqUpdatePasswordVo data) throws Exception { String desDefault = desUtils.decoder(data.pwd_default.getToken(), dateUtils.DateToDateTime(dateUtils.StrToDate(data.pwd_default.getTm(), "yyyy/MM/dd HH:mm:ss"))); String desConfirm = desUtils.decoder(data.pwd_confirm.getToken(), dateUtils.DateToDateTime(dateUtils.StrToDate(data.pwd_confirm.getTm(), "yyyy/MM/dd HH:mm:ss"))); if (!desDefault.equals(desConfirm)) throw new BaseException("","两次输入的密码不一致"); return RespGenerstor.success(userService.updatePassword(request, data.userID, desConfirm, accountService.getLoginUserID())); } @Data public static class ReqUpdatePasswordVo { public String userID; public DesModel pwd_default; public DesModel pwd_confirm; } @GetMapping("getUserShortcutMenuList") public BaseResponse getUserShortcutMenuList(){ return RespGenerstor.success(userService.getUserShortcutMenuList(accountService.getLoginUserID())); } }