全部开发者教程

企业级在线办公系统

添加罚款类型很简单,我们在弹窗页面上填写违纪类型的名称和罚款金额就可以了。因为弹窗页面的表单中没有下拉列表,所以不需要我们额外发送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);
    }
}