zhangherong
2025-07-04 826d7a2d241c24a1ef47fe0e69533a18b3464bc2
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java
@@ -15,6 +15,7 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authz.annotation.RequiresRoles;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.aspect.annotation.PermissionData;
@@ -28,6 +29,7 @@
import org.jeecg.modules.system.entity.*;
import org.jeecg.modules.system.model.DepartIdModel;
import org.jeecg.modules.system.model.ProductionIdModel;
import org.jeecg.modules.system.model.RepairDepartIdModel;
import org.jeecg.modules.system.model.SysUserSysDepartModel;
import org.jeecg.modules.system.service.*;
import org.jeecg.modules.system.vo.SysDepartUsersVO;
@@ -98,6 +100,9 @@
    @Resource
    private IMdcUserProductionService userProductionService;
    @Resource
    private IEamBaseRepairDepartUserService eamBaseRepairDepartUserService;
    /**
     * 获取用户列表数据
     *
@@ -157,9 +162,11 @@
        if (userIds != null && userIds.size() > 0) {
            Map<String, String> useDepNames = sysUserService.getDepNamesByUserIds(userIds);
            Map<String, String> useProNames = sysUserService.getProNamesByUserIds(userIds);
            Map<String, String> useRepDepNames = sysUserService.getRepDepNamesByUserIds(userIds);
            pageList.getRecords().forEach(item -> {
                item.setOrgCodeTxt(useDepNames.get(item.getId()));
                item.setProductionName(useProNames.get(item.getId()));
                item.setRepairDepartName(useRepDepNames.get(item.getId()));
            });
        }
        result.setSuccess(true);
@@ -176,9 +183,12 @@
        String selectedRoles = jsonObject.getString("selectedroles");
        String selectedDeparts = jsonObject.getString("selecteddeparts");
        String selectedProductions = jsonObject.getString("selectedProduction");
        String selectedRepairDeparts = jsonObject.getString("selectedRepairDeparts");
        try {
            SysUser user = JSON.parseObject(jsonObject.toJSONString(), SysUser.class);
            user.setCreateTime(new Date());//设置创建时间
            user.setPasswordTime(new Date());//设置密码时间
            user.setPasswordFlag(CommonConstant.DEL_FLAG_1);//设置密码首次标识
            String salt = oConvertUtils.randomGen(8);
            user.setSalt(salt);
            String passwordEncode = PasswordUtil.encrypt(user.getUsername(), user.getPassword(), salt);
@@ -188,7 +198,7 @@
            //用户表字段org_code不能在这里设置他的值
            user.setOrgCode(null);
            // 保存用户走一个service 保证事务
            sysUserService.saveUser(user, selectedRoles, selectedDeparts, selectedProductions);
            sysUserService.saveUser(user, selectedRoles, selectedDeparts, selectedProductions, selectedRepairDeparts);
            baseCommonService.addLog("添加用户,username: " + user.getUsername(), CommonConstant.LOG_TYPE_2, 2);
            result.success("添加成功!");
        } catch (Exception e) {
@@ -216,6 +226,7 @@
                String roles = jsonObject.getString("selectedroles");
                String departs = jsonObject.getString("selecteddeparts");
                String productions = jsonObject.getString("selectedProduction");
                String repairDeparts = jsonObject.getString("selectedRepairDeparts");
                if (oConvertUtils.isEmpty(departs)) {
                    //vue3.0前端只传递了departIds
                    departs = user.getDepartIds();
@@ -223,10 +234,13 @@
                if (oConvertUtils.isNotEmpty(productions)) {
                    productions = user.getProductionIds();
                }
                if (oConvertUtils.isNotEmpty(repairDeparts)) {
                    repairDeparts = user.getRepairDepartIds();
                }
                //用户表字段org_code不能在这里设置他的值
                user.setOrgCode(null);
                // 修改用户走一个service 保证事务
                sysUserService.editUser(user, roles, departs, productions);
                sysUserService.editUser(user, roles, departs, productions, repairDeparts);
                result.success("修改成功!");
            }
        } catch (Exception e) {
@@ -352,7 +366,7 @@
    /**
     * 修改密码
     */
    //@RequiresRoles({"admin"})
    @RequiresRoles({"admin"})
    @RequestMapping(value = "/changePassword", method = RequestMethod.PUT)
    public Result<?> changePassword(@RequestBody SysUser sysUser) {
        SysUser u = this.sysUserService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUsername, sysUser.getUsername()));
@@ -407,6 +421,30 @@
                result.setSuccess(true);
                result.setMessage("查找成功");
                result.setResult(proIdModelList);
            } else {
                result.setSuccess(false);
                result.setMessage("查找失败");
            }
            return result;
        } catch (Exception e) {
            log.error(e.getMessage(), e);
            result.setSuccess(false);
            result.setMessage("查找过程中出现了异常: " + e.getMessage());
            return result;
        }
    }
    @AutoLog(value = "用户表-查询指定用户和维修部门关联的数据")
    @ApiOperation(value = "用户表-查询指定用户和维修部门关联的数据", notes = "用户表-查询指定用户和维修部门关联的数据")
    @GetMapping(value = "/userRepairDepartList")
    public Result<List<RepairDepartIdModel>> userRepairDepartList(@RequestParam(name = "userId", required = true) String userId) {
        Result<List<RepairDepartIdModel>> result = new Result<>();
        try {
            List<RepairDepartIdModel> repDepIdModelList = this.eamBaseRepairDepartUserService.queryRepairDepartIdsOfUser(userId);
            if (repDepIdModelList != null && !repDepIdModelList.isEmpty()) {
                result.setSuccess(true);
                result.setMessage("查找成功");
                result.setResult(repDepIdModelList);
            } else {
                result.setSuccess(false);
                result.setMessage("查找失败");
@@ -638,17 +676,17 @@
        String oldpassword = json.getString("oldpassword");
        String password = json.getString("password");
        String confirmpassword = json.getString("confirmpassword");
        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        if (!sysUser.getUsername().equals(username)) {
            return Result.error("只允许修改自己的密码!");
        }
        //LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        //if (!sysUser.getUsername().equals(username)) {
        //    return Result.error("只允许修改自己的密码!");
        //}
        SysUser user = this.sysUserService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUsername, username));
        if (user == null) {
            return Result.error("用户不存在!");
        }
        //update-begin---author:wangshuai ---date:20220316  for:[VUEN-234]修改密码添加敏感日志------------
        LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        baseCommonService.addLog("修改密码,username: " + loginUser.getUsername(), CommonConstant.LOG_TYPE_2, 2);
        //LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        baseCommonService.addLog("修改密码,username: " + username, CommonConstant.LOG_TYPE_2, 2);
        //update-end---author:wangshuai ---date:20220316  for:[VUEN-234]修改密码添加敏感日志------------
        return sysUserService.resetPassword(username, oldpassword, password, confirmpassword);
    }