天天看點

21.職稱管理後端接口設計

controller

@RestController
@RequestMapping("/system/basic/job")
public class JobLevelController {
    @Autowired
    JobLevelService jobLevelService;

    @GetMapping("/")
    public List<Joblevel> getAllJobLevels(){
        return jobLevelService.getAllJobLevels();
    }

    @PostMapping("/")
    public RespBean addJobLevel(@RequestBody Joblevel joblevel) {
        if (jobLevelService.addJobLevel(joblevel) == 1) {
            return RespBean.ok("添加成功");
        }
        return RespBean.error("添加失敗");
    }

    @PutMapping("/")
    public RespBean updateJobLevel(@RequestBody Joblevel joblevel) {
        if (jobLevelService.updateJobLevel(joblevel) == 1) {
            return RespBean.ok("修改成功");
        }
        return RespBean.error("修改失敗");
    }

    @DeleteMapping("/{id}")
    public RespBean deleteJobLevel(@PathVariable Integer id) {
        if (jobLevelService.deleteJobLevel(id) == 1) {
            return RespBean.ok("删除成功");
        }
        return RespBean.error("删除失敗");
    }

    @DeleteMapping("/")
    public RespBean deleteJobLevelByIds(Integer[] ids) {
        if (jobLevelService.deleteJobLevelByIds(ids) == ids.length) {
            return RespBean.ok("批量删除成功");
        }
        return RespBean.error("批量删除失敗");
    }
}
           

service

@Service
public class JobLevelService {
    @Autowired
    JoblevelMapper joblevelMapper;

    public List<Joblevel> getAllJobLevels() {
        return joblevelMapper.getAllJobLevels();
    }

    public Integer addJobLevel(Joblevel joblevel) {
        joblevel.setCreatedate(new Date());
        joblevel.setEnabled(true);
        return joblevelMapper.insertSelective(joblevel);
    }

    public Integer updateJobLevel(Joblevel joblevel) {
        return joblevelMapper.updateByPrimaryKeySelective(joblevel);
    }

    public Integer deleteJobLevel(Integer id) {
        return joblevelMapper.deleteByPrimaryKey(id);
    }

    public Integer deleteJobLevelByIds(Integer[] ids) {
        return JoblevelMapper.deleteJobLevelByIds(ids);
    }
}
           

mapper

public interface JoblevelMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(Joblevel record);

    int insertSelective(Joblevel record);

    Joblevel selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(Joblevel record);

    int updateByPrimaryKey(Joblevel record);

    List<Joblevel> getAllJobLevels();

    Integer deleteJobLevelByIds(@Param("ids") Integer[] id);
}
           

mapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.qwl.vhr.mapper.JoblevelMapper" >
  <resultMap id="BaseResultMap" type="com.qwl.vhr.model.Joblevel" >
    <id column="id" property="id" jdbcType="INTEGER" />
    <result column="name" property="name" jdbcType="VARCHAR" />
    <result column="titleLevel" property="titlelevel" jdbcType="CHAR" />
    <result column="createDate" property="createdate" jdbcType="TIMESTAMP" />
    <result column="enabled" property="enabled" jdbcType="BIT" />
  </resultMap>
  <sql id="Base_Column_List" >
    id, name, titleLevel, createDate, enabled
  </sql>
  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
    select 
    <include refid="Base_Column_List" />
    from joblevel
    where id = #{id,jdbcType=INTEGER}
  </select>
  <select id="getAllJobLevels" resultType="BaseResultMap">
    select * from joblevel
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
    delete from joblevel
    where id = #{id,jdbcType=INTEGER}
  </delete>
    <delete id="deleteJobLevelByIds">
    delete from joblevel  where id in
    <foreach collection="ids" item="id" separator="," open="(" close=")">
      #{id}
    </foreach>
  </delete>
  <insert id="insert" parameterType="com.qwl.vhr.model.Joblevel" >
    insert into joblevel (id, name, titleLevel, 
      createDate, enabled)
    values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{titlelevel,jdbcType=CHAR}, 
      #{createdate,jdbcType=TIMESTAMP}, #{enabled,jdbcType=BIT})
  </insert>
  <insert id="insertSelective" parameterType="com.qwl.vhr.model.Joblevel" >
    insert into joblevel
    <trim prefix="(" suffix=")" suffixOverrides="," >
      <if test="id != null" >
        id,
      </if>
      <if test="name != null" >
        name,
      </if>
      <if test="titlelevel != null" >
        titleLevel,
      </if>
      <if test="createdate != null" >
        createDate,
      </if>
      <if test="enabled != null" >
        enabled,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides="," >
      <if test="id != null" >
        #{id,jdbcType=INTEGER},
      </if>
      <if test="name != null" >
        #{name,jdbcType=VARCHAR},
      </if>
      <if test="titlelevel != null" >
        #{titlelevel,jdbcType=CHAR},
      </if>
      <if test="createdate != null" >
        #{createdate,jdbcType=TIMESTAMP},
      </if>
      <if test="enabled != null" >
        #{enabled,jdbcType=BIT},
      </if>
    </trim>
  </insert>
  <update id="updateByPrimaryKeySelective" parameterType="com.qwl.vhr.model.Joblevel" >
    update joblevel
    <set >
      <if test="name != null" >
        name = #{name,jdbcType=VARCHAR},
      </if>
      <if test="titlelevel != null" >
        titleLevel = #{titlelevel,jdbcType=CHAR},
      </if>
      <if test="createdate != null" >
        createDate = #{createdate,jdbcType=TIMESTAMP},
      </if>
      <if test="enabled != null" >
        enabled = #{enabled,jdbcType=BIT},
      </if>
    </set>
    where id = #{id,jdbcType=INTEGER}
  </update>
  <update id="updateByPrimaryKey" parameterType="com.qwl.vhr.model.Joblevel" >
    update joblevel
    set name = #{name,jdbcType=VARCHAR},
      titleLevel = #{titlelevel,jdbcType=CHAR},
      createDate = #{createdate,jdbcType=TIMESTAMP},
      enabled = #{enabled,jdbcType=BIT}
    where id = #{id,jdbcType=INTEGER}
  </update>
</mapper>