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