全部开发者教程

企业级在线办公系统

现在罚款类型模块的CRUD操作只剩下了删除还没实现,所以这节课咱们就去把删除记录的后端代码给写了,然后用Swagger测试一下。大家注意,系统内置罚款类型不能删除,只能修改。

一、编写持久层代码

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

<delete id="deleteAmectTypeByIds">
    DELETE FROM tb_amect_type
    WHERE systemic = false  AND id IN
    <foreach collection="array" open="(" separator="," close=")" item="one">
        #{one}
    </foreach>
</delete>

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

public interface TbAmectTypeDao {
    ……
    public int deleteAmectTypeByIds(Integer[] ids);
}

二、编写业务层代码

AmectTypeService.java接口中,声明抽象方法。

public interface AmectTypeService {
    ……
    public int deleteAmectTypeByIds(Integer[] ids);
}

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

public class AmectTypeServiceImpl implements AmectTypeService {
    ……
    @Override
    public int deleteAmectTypeByIds(Integer[] ids) {
        int rows = amectTypeDao.deleteAmectTypeByIds(ids);
        return rows;
    }
}

三、编写Web层代码

创建DeleteAmectTypeByIdsForm.java类,用于封装Ajax提交的数据。

@Data
@Schema(description = "删除罚款类型记录")
public class DeleteAmectTypeByIdsForm {
    @NotEmpty(message = "ids不能为空")
    @Schema(description = "罚款类型编号")
    private Integer[] ids;
}

AmectTypeController.java类中,声明Web方法,然后用Swagger测试。

public class AmectTypeController {
    ……
    @PostMapping("/deleteAmectTypeByIds")
    @Operation(summary = "删除罚款类型")
    @SaCheckPermission(value = {"ROOT"})
    public R deleteAmectTypeByIds(@Valid @RequestBody DeleteAmectTypeByIdsForm form) {
        int rows = amectTypeService.deleteAmectTypeByIds(form.getIds());
        return R.ok().put("rows", rows);
    }
}