whyclxw
2025-05-28 e16302f9d475c7cc4dd18c5abf1a23cb5502e362
src/main/java/com/whyc/controller/UserController.java
@@ -1,7 +1,5 @@
package com.whyc.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.whyc.dto.Response;
import com.whyc.pojo.UserInf;
import com.whyc.service.UserService;
@@ -23,23 +21,28 @@
@RequestMapping("user")
@Api(tags = "用户管理-用户")
@Slf4j
public class UserController {
public class UserController extends BaseController{
    @Resource
    private UserService userService;
    @PostMapping
    @ApiOperation(value = "添加")
    public Response add(@RequestBody UserInf user){
        return userService.add(user);
    }
    //@PostMapping
    //@ApiOperation(value = "添加")
    //public Response add(@RequestBody UserInf user){
    //    return userService.add(user);
    //}
    @PostMapping("/addByRSA")
    @PostMapping
    @ApiOperation(value = "添加-RSA加密")
    public Response addByRSA(@RequestBody UserInf user){
        return userService.addByRSA(user);
    }
    @PostMapping("register")
    @ApiOperation(value = "注册用户")
    public Response register(@RequestBody UserInf user){
        return userService.registerUser(user);
    }
    @GetMapping
    @ApiOperation(value = "查询byId")
    public Response<UserInf> getById(@RequestParam int id){
@@ -54,22 +57,23 @@
    @GetMapping("page")
    @ApiOperation(value = "查询分页")
    public Response<IPage<UserInf>> getPage(@RequestParam int pageNum,int pageSize){
        Page<Object> page = new Page<>(pageNum, pageSize);
        return new Response<IPage<UserInf>>().set(1,userService.getAllWithPage(page));
    public Response getPage(@RequestParam int pageNum,int pageSize){
        return new Response().set(1,userService.getAllWithPage(pageNum,pageSize));
    }
    @PutMapping
    @PostMapping("update")
    @ApiOperation(value = "编辑")
    public Response update(@RequestBody UserInf user){
        userService.update(user);
        return new Response().setII(1,"更新成功");
        return userService.update(user);
    }
    @DeleteMapping
    @PostMapping("delete")
    @ApiOperation(value = "删除")
    public Response delete(@RequestParam int id){
        userService.delete(id);
        boolean deleteFlag = userService.delete(id);
        if (!deleteFlag){
            return new Response().setII(0,"删除失败,当前用户没有用户编辑权限");
        }
        return new Response().setII(1,"删除成功");
    }
    @GetMapping("/searchUKeyToUName")
@@ -87,17 +91,17 @@
    @GetMapping("/searchUNameToUKey")
    @ApiOperation(value = "根据用户名查绑定的Ukey")
    public Response getUserByUserName(@RequestParam String uKeyId){
        UserInf userInf = userService.getUserByUKeyId(uKeyId);
    public Response getUserByUserName(@RequestParam String userName){
        UserInf userInf = userService.getUserByUserName(userName);
        Response response = new Response();
        if (userInf!=null){
            if (StringUtils.isEmpty(userInf.getUkeyId())){
                response.set(0,"该用户没有绑定Ukey");
                response.set(-1,false,"该用户没有绑定Ukey");
            }else {
                response.set(1,userInf);
                response.setII(1,true,userInf,"该用户有绑定Ukey");
            }
        }else{
            response.set(0,"该用户不存在");
            response.set(0,false,"该用户不存在");
        }
        return response;
    }
@@ -134,11 +138,12 @@
    public Response checkUserPasswordOfREA(@RequestParam String pwd){
        UserInf userInf = ActionUtil.getUser();
        String passwordEncrypt = null;
        try {
        /*try {
            passwordEncrypt = URLDecoder.decode(pwd, "utf-8");
        }catch (UnsupportedEncodingException e){
            e.printStackTrace();
        }
        }*/
        passwordEncrypt = pwd;
        String password = RSAUtil.decryptFront(passwordEncrypt, RSAUtil.fontSeparator)[0];
        String passwordDB = RSAUtil.decrypt(userInf.getUpassword(),RSAUtil.getPrivateKey());
        if(passwordDB.equals(password)){
@@ -147,7 +152,19 @@
            return new Response().set(0);
        }
    }
    @GetMapping("/checkAndUpdatePasswordByRSA")
    @ApiOperation(value = "检查并修改用户RSA密码")
    public Response checkAndUpdatePasswordByRSA(@RequestParam String oldPwd,@RequestParam String newPwd){
        UserInf userInf = ActionUtil.getUser();
        String passwordEncrypt = oldPwd;
        String password = RSAUtil.decryptFront(passwordEncrypt, RSAUtil.fontSeparator)[0];
        String passwordDB = RSAUtil.decrypt(userInf.getUpassword(),RSAUtil.getPrivateKey());
        if(passwordDB.equals(password)){
            return userService.updatePasswordByRSA(userInf,newPwd);
        }else {
            return new Response().set(0,false,"原密码不正确");
        }
    }
    @PostMapping("/updatePassword")
    @ApiOperation(value = "修改密码")
@@ -163,11 +180,17 @@
        return userService.updatePasswordByRSA(userInf,password);
    }
    @GetMapping("updatePasswordByValidity")
    @ApiOperation(value = "修改密码-密码失效")
    public Response updatePasswordByValidity(@RequestParam String uname,@RequestParam String oldPwd,@RequestParam String newPwd) throws UnsupportedEncodingException {
        return userService.updatePasswordByValidity(uname,oldPwd,newPwd);
    }
    /**
     * 1.首次登录,请先修改初始化口令
     * 2.超过3个月没有修改口令,请修改口令后重新登录
     */
    @PutMapping("updatePassword2")
    @PostMapping("updatePassword2")
    @ApiOperation(value = "修改密码-3个月未登录")
    public Response updatePassword2(@RequestParam String passwordOld,String passwordNew){
        //校验老密码
@@ -206,12 +229,38 @@
     * 账号解锁
     */
    @ApiOperation(value = "账号解锁",notes = "unLockType=1为失败锁定解锁,2为上个月未登录锁定解锁")
    @PutMapping("unLock")
    @PostMapping("unLock")
    public Response unLock(@RequestParam int uId,@RequestParam int unLockType){
        userService.unLock(uId,unLockType);
        return new Response().setII(1,"解锁成功");
    }
    /**
     * 包机组重做(穿梭框)查询所有的用户-更新为查询未被添加到权限组的所有用户
     */
    @ApiOperation(value = "包机组重做(穿梭框)查询所有的用户")
    @GetMapping("searchCS_All2")
    public Response searchCS_All2(){
        List<UserInf> list = userService.searchCS_All2();
        return new Response().set(1,list);
    }
    /**
     * 告警派单中,查询站点人员信息
     * @param stationId
     * @return
     */
    @ApiOperation(tags = "告警派单", value = "根据站点查询相关人员", notes = "User_infAction!getUserInfoByStationId")
    @GetMapping("getUserInfoByStationId")
    public Response getUserInfoByStationId(@RequestParam String stationId){
        List<UserInf> list = userService.getUserInfoByStationId(stationId);
        return new Response().set(1,list);
    }
    @ApiOperation(value = "伪单点登录",notes = "返回的data为布尔值,是否登录成功;data2:用户所在的权限组id;data3为用户对象,内含属性uid,uname,urole")
    @GetMapping("loginByUId")
    public Response searchSnIdByUId(@RequestParam int uId){
        return userService.loginByUId(uId);
    }
}