启用禁用员工账号

1:启用禁用员工账号的接口设计:

请求路径:/admin/employee/status/{status}

请求方式:POST

数据请求参数:Headers

Query:id

数据返回格式:json

业务规则:

可以对状态为“启用” 的员工账号进行“禁用”操作

可以对状态为“禁用”的员工账号进行“启用”操作

状态为“禁用”的员工账号不能登录系统

2:具体的代码实现:

Controller层:

/**
     * 启用禁用员工账号
     */
    @PostMapping("/status/{status}")
    @ApiOperation("启用禁用员工账号")
    public Result StartOrStop(@RequestParam Long id,@PathVariable(value = "status") Integer status){
        log.info("启用禁用员工账号:{},{}",id,status);
        employeeService.StartOrStop(id,status);
        return Result.success();
    }

这里需要注意的就是两个参数的传递:

status是路径参数:用@PathVariable 来接收

id其实是前端的请求参数。我在这里加了@RequestParam,就是表明这个是前端请求参数)

这里其实也可以不用加,为什么呢?

因为前端传送过来的参数名字和id是一样的,然后我做了一个实验,将前端传过来的参数名称改为idd,结果不会报错,不过因为idd的值是null,所以不会在数据库中有什么体现。

Service层代码:

       

    /**
     * 启用禁用员工账号
     */
    @Override
    public void StartOrStop(Long id, Integer status) {
        //update employee set status = ? where id = ?
        Employee employee = new Employee();
        employee.setId(id);
        employee.setStatus(status);

        //调用mapper接口
        employeeMapper.StartOrStop(employee);
    }

service层的代码就很中规中矩了。

有一个和之前不同的点是:在我第一次写crud的时候,如果碰到参数只有两个,我可能会直接传进去,不过听了老师的话,封装成一个集合传送。

Mapper层:

void StartOrStop(Employee employee);

注解层代码:

<update id="StartOrStop" parameterType="Employee">
        update sky_take_out.employee
        <set>
            <if test="username != null">username = #{username},</if>
            <if test="name != null">name = #{name},</if>
            <if test="password != null">password = #{password},</if>
            <if test="phone != null">phone = #{phone},</if>
            <if test="sex != null">sex = #{sex},</if>
            <if test="idNumber != null">id_Number = #{isNumber},</if>
            <if test="updateTime != null">update_time = #{updateTime},</if>
            <if test="createUser != null">create_user = #{createUser},</if>
            <if test="updateUser != null">update_user = #{updateUser},</if>
            <if test="status != null">status = #{status},</if>
        </set>
        where id = #{id}
    </update>

注解层代码也够坑,因为employee中的变量名和mysql中的字段名不同导致改了半天,下次注意就好。

3:功能测试:

结果:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值