添加罚款类型很简单,我们在弹窗页面上填写违纪类型的名称和罚款金额就可以了。因为弹窗页面的表单中没有下拉列表,所以不需要我们额外发送Ajax查询。
一、编写持久层代码
在TbAmectTypeDao.xml
文件中,定义插入记录的INSERT语句。
<insert id="insert" parameterType="com.example.emos.api.db.pojo.TbAmectType">
INSERT INTO tb_amect_type
SET type = #{type},
money = #{money},
systemic = false
</insert>
在TbAmectTypeDao.java
接口中,定义DAO方法。
public interface TbAmectTypeDao {
……
public int insert(TbAmectType amectType);
}
二、编写业务层代码
在AmectService.java
接口中,定义抽象方法。
public interface AmectTypeService {
……
public int insert(TbAmectType amectType);
}
在AmectServiceImpl.java
类中,实现抽象方法。
public class AmectTypeServiceImpl implements AmectTypeService {
……
@Override
public int insert(TbAmectType amectType) {
int rows = amectTypeDao.insert(amectType);
return rows;
}
}
三、编写Web层代码
创建InsertAmectTypeForm.java
类,封装Ajax提交的数据。
@Data
@Schema(description = "添加罚款类型表单")
public class InsertAmectTypeForm {
@NotBlank(message = "type不能为空")
@Pattern(regexp = "^[a-zA-Z0-9\\u4e00-\\u9fa5]{2,10}$", message = "type内容不正确")
@Schema(description = "违纪类型")
private String type;
@NotBlank(message = "money不能为空")
@Pattern(regexp = "(^[1-9]([0-9]+)?(\\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\\.[0-9]([0-9])?$)", message = "money内容不正确")
@Schema(description = "罚款金额")
private String money;
}
在AmectTypeController.java
类中,声明Web方法,用Swagger测试Web的方法。
public class AmectTypeController {
……
@PostMapping("/insert")
@Operation(summary = "添加罚款类型")
@SaCheckPermission(value = {"ROOT"})
public R insert(@Valid @RequestBody InsertAmectTypeForm form) {
TbAmectType amectType = JSONUtil.parse(form).toBean(TbAmectType.class);
int rows = amectTypeService.insert(amectType);
return R.ok().put("rows", rows);
}
}