liujie
2025-09-28 cbea77361c73a2b4f4b1c4bfd8ae426771b38ecc
update
7个文件已修改
2个文件已添加
265 ■■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TAppUserController.java 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/dto/UpAndDownDTO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TAppUserMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TAppUser.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/TAppUserQuery.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TAppUserService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TAppUserServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/TAppUserPageVo.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TAppUserMapper.xml 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TAppUserController.java
@@ -1,8 +1,29 @@
package com.ruoyi.web.controller.api;
import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.dto.UpAndDownDTO;
import com.ruoyi.system.mapper.SysUserMapper;
import com.ruoyi.system.model.TAppUser;
import com.ruoyi.system.query.TAppUserQuery;
import com.ruoyi.system.service.TAppUserService;
import com.ruoyi.system.vo.TAppUserPageVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.stream.Collectors;
/**
 * <p>
@@ -13,8 +34,128 @@
 * @since 2025-09-28
 */
@RestController
@RequestMapping("/t-app-user")
@RequestMapping("")
@Api(tags = "人员管理")
public class TAppUserController {
    private final TokenService tokenService;
    private final TAppUserService appUserService;
    @Autowired
    public TAppUserController(TokenService tokenService, TAppUserService appUserService) {
        this.tokenService = tokenService;
        this.appUserService = appUserService;
    }
    /**
     * 获取人员列表
     */
    @PreAuthorize("@ss.hasPermi('system:user:list')")
    @ApiOperation(value = "获取人员管理分页列表", response = TAppUser.class)
    @PostMapping(value = "/api/t-app-user/pageList")
    public R<PageInfo<TAppUserPageVo>> pageList(@RequestBody String param) {
        TAppUserQuery query = JSON.parseObject(param, TAppUserQuery.class);
        return R.ok(appUserService.pageList(query));
    }
    /**
     * 添加人员
     */
    @ApiOperation(value = "添加人员")
    @PostMapping(value = "/api/t-app-user/addUser")
    public R<?> addUser(@RequestBody String param) {
        TAppUser tAppUser = JSON.parseObject(param, TAppUser.class);
        String pwd = SecurityUtils.encryptPassword(tAppUser.getPassword());
        tAppUser.setPassword(pwd);
        tAppUser.setState(1);
        appUserService.save(tAppUser);
        return R.ok();
    }
    /**
     * 编辑人员
     */
    @ApiOperation(value = "编辑人员")
    @PostMapping(value = "/api/t-app-user/updateUser")
    public R<?> updateUser(@RequestBody String param) {
        TAppUser tAppUser = JSON.parseObject(param, TAppUser.class);
        if(tAppUser.getPassword()!=null && !tAppUser.getPassword().isEmpty()){
            String pwd = SecurityUtils.encryptPassword(tAppUser.getPassword());
            tAppUser.setPassword(pwd);
        }
        tAppUser.setState(1);
        appUserService.updateById(tAppUser);
        return R.ok();
    }
    /**
     * 删除人员
     */
    @ApiOperation(value = "删除人员")
    @PostMapping(value = "/api/t-app-user/delUser")
    public R<?> delUser(@RequestBody String param) {
        String id = JSON.parseObject(param, String.class);
        TAppUser appUser = appUserService.getById(id);
        appUser.setDisabled(1);
        appUserService.updateById(appUser);
        return R.ok();
    }
    /**
     * 禁用/启用
     */
    @ApiOperation(value = "禁用/启用")
    @PostMapping(value = "/api/t-app-user/updateStatus")
    public R<?> updateStatus(@RequestBody String param) {
        UpAndDownDTO dto = JSON.parseObject(param, UpAndDownDTO.class);
        TAppUser appUser = appUserService.getById(dto.getId());
        appUser.setStatus(dto.getStatus());
        appUserService.updateById(appUser);
        return R.ok();
    }
    /**
     * 禁用/启用
     */
    @ApiOperation(value = "重置密码")
    @PostMapping(value = "/api/t-app-user/resetPwd")
    public R<?> resetPwd(@RequestBody String param) {
        String id = JSON.parseObject(param, String.class);
        TAppUser appUser = appUserService.getById(id);
        String pwd = SecurityUtils.encryptPassword("123456");
        appUser.setPassword(pwd);
        appUserService.updateById(appUser);
        return R.ok();
    }
    /**
     * 获取人员审核管理分页列表
     */
    @ApiOperation(value = "获取人员审核管理分页列表", response = TAppUserPageVo.class)
    @PostMapping(value = "/api/t-app-user/pageAuditList")
    public R<PageInfo<TAppUserPageVo>> pageAuditList(@RequestBody String param) {
        TAppUserQuery query = JSON.parseObject(param, TAppUserQuery.class);
        return R.ok(appUserService.pageAuditList(query));
    }
    /**
     * 获取人员审核管理分页列表
     */
    @ApiOperation(value = "获取人员审核管理详情", response = TAppUserPageVo.class)
    @PostMapping(value = "/api/t-app-user/pageAuditDetail")
    public R<TAppUserPageVo> pageAuditDetail(@RequestBody String param) {
        TAppUserQuery query = JSON.parseObject(param, TAppUserQuery.class);
        return R.ok(appUserService.pageAuditList(query));
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/dto/UpAndDownDTO.java
@@ -13,7 +13,7 @@
    @ApiModelProperty(value = "id")
    private String id;
    @ApiModelProperty(value = "状态 (项目组)1=正常 2=封存 、  (项目课题方案) -1=草稿箱 1=审批中 2=已通过 3=已驳回 4=已撤销 5=已封存")
    @ApiModelProperty(value = "状态 状态 1=启用 2=禁用")
    private Integer status;
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TAppUserMapper.java
@@ -1,7 +1,13 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TAppUser;
import com.ruoyi.system.query.TAppUserQuery;
import com.ruoyi.system.vo.TAppUserPageVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
@@ -13,4 +19,10 @@
 */
public interface TAppUserMapper extends BaseMapper<TAppUser> {
    List<TAppUserPageVo> pageList(@Param("pageInfo") PageInfo<TAppUserPageVo> pageInfo, @Param("query") TAppUserQuery query);
    List<TAppUserPageVo> pageAuditList(@Param("pageInfo") PageInfo<TAppUserPageVo> pageInfo, @Param("query") TAppUserQuery query);
}
ruoyi-system/src/main/java/com/ruoyi/system/model/TAppUser.java
@@ -55,7 +55,7 @@
    @TableField("team_id")
    private String teamId;
    @ApiModelProperty(value = "状态 1=启用 0=禁用")
    @ApiModelProperty(value = "状态 1=启用 2=禁用")
    @TableField("status")
    private Integer status;
@@ -89,4 +89,11 @@
    private Integer disabled;
    @ApiModelProperty(value = "状态 0待审核 1通过 2拒绝")
    private Integer state;
    @ApiModelProperty(value = "职业技能")
    private String level;
}
ruoyi-system/src/main/java/com/ruoyi/system/query/TAppUserQuery.java
New file
@@ -0,0 +1,18 @@
package com.ruoyi.system.query;
import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.common.core.domain.BasePage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "人员管理query")
public class TAppUserQuery extends BasePage {
    @ApiModelProperty(value = "姓名")
    private String nickName;
    @ApiModelProperty(value = "状态 1=启用 0=禁用")
    private Integer status;
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TAppUserService.java
@@ -1,7 +1,10 @@
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TAppUser;
import com.ruoyi.system.query.TAppUserQuery;
import com.ruoyi.system.vo.TAppUserPageVo;
/**
 * <p>
@@ -13,4 +16,10 @@
 */
public interface TAppUserService extends IService<TAppUser> {
    PageInfo<TAppUserPageVo> pageList(TAppUserQuery query);
    PageInfo<TAppUserPageVo> pageAuditList(TAppUserQuery query);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TAppUserServiceImpl.java
@@ -1,10 +1,15 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.mapper.TAppUserMapper;
import com.ruoyi.system.model.TAppUser;
import com.ruoyi.system.query.TAppUserQuery;
import com.ruoyi.system.service.TAppUserService;
import com.ruoyi.system.vo.TAppUserPageVo;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * <p>
@@ -17,4 +22,19 @@
@Service
public class TAppUserServiceImpl extends ServiceImpl<TAppUserMapper, TAppUser> implements TAppUserService {
    @Override
    public PageInfo<TAppUserPageVo> pageList(TAppUserQuery query) {
        PageInfo<TAppUserPageVo> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TAppUserPageVo> list = this.baseMapper.pageList(pageInfo, query);
        pageInfo.setRecords(list);
        return pageInfo;
    }
    @Override
    public PageInfo<TAppUserPageVo> pageAuditList(TAppUserQuery query) {
        PageInfo<TAppUserPageVo> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TAppUserPageVo> list = this.baseMapper.pageAuditList(pageInfo, query);
        pageInfo.setRecords(list);
        return pageInfo;
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/vo/TAppUserPageVo.java
New file
@@ -0,0 +1,13 @@
package com.ruoyi.system.vo;
import com.ruoyi.system.model.TAppUser;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("人员管理Vo")
public class TAppUserPageVo extends TAppUser {
    @ApiModelProperty(value = "分队名称")
    private String teamName;
}
ruoyi-system/src/main/resources/mapper/system/TAppUserMapper.xml
@@ -25,5 +25,44 @@
    <sql id="Base_Column_List">
        id, nick_name, phone, account, password, team_name, team_id, status, practical_train_count, other_count, create_time, update_time, create_by, update_by, disabled
    </sql>
    <select id="pageList" resultType="com.ruoyi.system.vo.TAppUserPageVo">
        SELECT
        t1.id, t1.nick_name, t1.phone, t1.account, t1.password, t1.team_name, t1.team_id, t1.status,
        t1.practical_train_count,
        t1.other_count, t1.create_time, t1.update_time, t1.create_by, t1.update_by, t1.disabled,t2.team_name
        FROM
        t_app_user t1 left join t_division_team t2 on t1.team_id = t2.id
        WHERE
        t1.disabled = 0 and t1.state =1
        <if test="query.nickName != null and query.nickName!=''">
            and (t1.nick_name like concat('%',#{query.nickName},'%') or t1.phone like concat('%',#{query.nickName},'%'))
        </if>
        <if test="query.status != null ">
            and t1.status =#{query.status}
        </if>
        order by t1.create_time desc
    </select>
    <select id="pageAuditList" resultType="com.ruoyi.system.vo.TAppUserPageVo">
        SELECT
        t1.id, t1.nick_name, t1.phone, t1.account, t1.password, t1.team_name, t1.team_id, t1.status,
        t1.practical_train_count,
        t1.other_count, t1.create_time, t1.update_time, t1.create_by, t1.update_by, t1.disabled,t2.team_name
        FROM
        t_app_user t1 left join t_division_team t2 on t1.team_id = t2.id
        WHERE
        t1.disabled = 0
        <if test="query.nickName != null and query.nickName!=''">
            and (t1.nick_name like concat('%',#{query.nickName},'%') or t1.phone like concat('%',#{query.nickName},'%'))
        </if>
        <if test="query.status != null ">
            and t1.status =#{query.status}
        </if>
        order by t1.create_time desc
    </select>
</mapper>