现在罚款类型模块的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);
}
}