全部开发者教程

企业级在线办公系统

上个小节我们已经实现了罚款单的修改,但是不能修改罚款单关联的当事人。如果我们想要修改罚款单的当事人,那就只能删除罚款单,然后创建新的罚款单。所以这节课咱们把删除罚款单的后端代码给实现了,下节课去写前端JS代码。

图片描述

一、编写持久层代码

TbAmectDao.xml文件中,定义SQL语句。

<delete id="deleteAmectByIds">
    DELETE FROM tb_amect
    WHERE status !=2 AND id IN
    <foreach collection="array" open="(" separator="," close=")" item="one">
        #{one}
    </foreach>
</delete>

TbAmectDao.java接口中,声明DAO方法。

public interface TbAmectDao {
    ……
    public int deleteAmectByIds(Integer[] ids);
}

二、编写业务层代码

AmectService.java接口中,定义抽象方法。

public interface AmectService{
    ……
    public int deleteAmectByIds(Integer[] ids);
}

AmectServiceImpl.java类中,实现抽象方法。

public class AmectServiceImpl implements AmectService {
    ……
    @Override
    public int deleteAmectByIds(Integer[] ids) {
        int rows = amectDao.deleteAmectByIds(ids);
        return rows;
    }
}

三、编写Web层代码

创建DeleteAmectByIdsForm.java类,封装Ajax提交的数据。

@Data
@Schema(description = "删除罚款记录表单")
public class DeleteAmectByIdsForm {
    @NotEmpty(message = "ids不能为空")
    @Schema(description = "罚款记录主键")
    private Integer[] ids;
}

AmectController.java类中,定义Web方法,然后用Swagger测试。

public class AmectController {
    ……
    @PostMapping("/deleteAmectByIds")
    @Operation(summary = "删除罚款记录")
    @SaCheckPermission(value = {"ROOT", "AMECT:DELETE"}, mode = SaMode.OR)
    public R deleteAmectByIds(@Valid @RequestBody DeleteAmectByIdsForm form) {
        int rows = amectService.deleteAmectByIds(form.getIds());
        return R.ok().put("rows", rows);
    }
}