entity:
package com.meta.hrpz.domain.entity;
import com.alibaba.fastjson.JSON;
import lombok.Data;
/**
* 通知领域成员对象 t_notice_service_members
*
* @author jingyan
* @date 2022-06-19
*/
@Data
public class NoticeServiceMembers {
/**
* 领域
*/
private String service;
/**
* 员工id
*/
private String employeeId;
/**
* 用户名
*/
private String userName;
@Override
public String toString() {
return JSON.toJSONString(this);
}
}
listParam:
package com.meta.hrpz.domain.vo.req;
import com.alibaba.fastjson.JSON;
import com.meta.hrpz.domain.entity.NoticeServiceMembers;
import lombok.Data;
import org.springframework.beans.BeanUtils;
/**
* 通知领域成员 listParamVo对象
*
* @author zhudong
* @date 2022-06-19
*/
@Data
public class NoticeServiceMembersListParamVo {
/**
* 页码
*/
private Integer pageNum = 1;
/**
* 页数
*/
private Integer pageSize = 10;
/**
* 领域
*/
private String service;
/**
* 员工id
*/
private String employeeId;
/**
* 用户名
*/
private String userName;
public NoticeServiceMembers toEntity() {
NoticeServiceMembers entity = new NoticeServiceMembers();
BeanUtils.copyProperties(this, entity);
return entity;
}
@Override
public String toString() {
return JSON.toJSONString(this);
}
}
新增参数类:
package com.meta.hrpz.domain.vo.req;
import com.alibaba.fastjson.JSON;
import com.meta.hrpz.domain.entity.NoticeServiceMembers;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.beans.BeanUtils;
import javax.validation.constraints.NotBlank;
/**
* 保存通知领域成员入参
*
* @author zhudong
* @date 2022-06-19
*/
@Data
public class SaveNoticeServiceMembersCmd {
/**
* 领域
*/
@NotBlank(message = "领域不能为空")
@Length(max = 64, message = "领域不能超过64个字符")
private String service;
/**
* 员工id
*/
@NotBlank(message = "员工id不能为空")
@Length(max = 64, message = "员工id不能超过64个字符")
private String employeeId;
/**
* 用户名
*/
@NotBlank(message = "用户名不能为空")
@Length(max = 64, message = "用户名不能超过64个字符")
private String userName;
public NoticeServiceMembers toEntity() {
NoticeServiceMembers entity = new NoticeServiceMembers();
BeanUtils.copyProperties(this, entity);
return entity;
}
@Override
public String toString() {
return JSON.toJSONString(this);
}
}
service:
package com.meta.hrpz.service;
import com.meta.common.core.domain.ResponseVo;
import com.meta.common.core.page.TableDataInfo;
import com.meta.hrpz.domain.entity.NoticeServiceMembers;
import com.meta.hrpz.domain.vo.req.NoticeServiceMembersListParamVo;
import com.meta.hrpz.domain.vo.req.SaveNoticeServiceMembersCmd;
/**
* 通知领域成员Service接口
*
* @author jiangyan
* @date 2022-06-19
*/
public interface NoticeServiceMembersService {
/**
* 分页查询列表
*
* @param paramVo 参数
* @return 分页数据
*/
TableDataInfo<NoticeServiceMembers> list(NoticeServiceMembersListParamVo paramVo);
/**
* 新增
*/
ResponseVo<Void> add(SaveNoticeServiceMembersCmd cmd);
/**
* 删除
*/
ResponseVo<Void> delete(NoticeServiceMembers param);
}
serviceImpl:
package com.meta.hrpz.service.impl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.meta.common.core.domain.ResponseVo;
import com.meta.common.core.page.TableDataInfo;
import com.meta.hrpz.domain.entity.NoticeServiceMembers;
import com.meta.hrpz.domain.vo.req.NoticeServiceMembersListParamVo;
import com.meta.hrpz.domain.vo.req.SaveNoticeServiceMembersCmd;
import com.meta.hrpz.mapper.NoticeServiceMembersMapper;
import com.meta.hrpz.service.NoticeServiceMembersService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
* 通知领域成员Service业务层处理
*
* @author jiangyan
* @date 2022-06-19
*/
@Service
@Slf4j
public class NoticeServiceMembersServiceImpl implements NoticeServiceMembersService {
@Resource
private NoticeServiceMembersMapper noticeServiceMembersMapper;
/**
* 分页查询列表
*
* @param paramVo 查询参数
* @return 结果
*/
@Override
public TableDataInfo<NoticeServiceMembers> list(NoticeServiceMembersListParamVo paramVo) {
PageHelper.startPage(paramVo.getPageNum(), paramVo.getPageSize());
List<NoticeServiceMembers> noticeServiceMembersList = noticeServiceMembersMapper.queryListByCondition(paramVo.toEntity());
PageInfo<NoticeServiceMembers> pageInfo = new PageInfo<>(noticeServiceMembersList);
return new TableDataInfo<>(noticeServiceMembersList, pageInfo.getTotal());
}
/**
* 新增通知领域成员
*
* @param cmd 参数
* @return 结果
*/
@Override
public ResponseVo<Void> add(SaveNoticeServiceMembersCmd cmd) {
NoticeServiceMembers existEntity = noticeServiceMembersMapper.queryByServiceAndEmployeeId(cmd.getService(), cmd.getEmployeeId());
if (existEntity != null) {
return ResponseVo.error("该数据已存在,请确认后再试");
}
int insertCount = noticeServiceMembersMapper.insertSelective(cmd.toEntity());
log.info("新增通知领域成员,insertCount={}", insertCount);
return ResponseVo.success();
}
/**
* 删除通知领域成员
*
* @param param 删除
* @return 结果
*/
@Override
public ResponseVo<Void> delete(NoticeServiceMembers param) {
if (StringUtils.isBlank(param.getService()) || StringUtils.isBlank(param.getEmployeeId())) {
return ResponseVo.error("service和employeeId不能为空");
}
int deleteCount = noticeServiceMembersMapper.deleteByCondition(param);
log.info("删除通知领域成员,deleteCount={},param={}", deleteCount, param);
return ResponseVo.success();
}
}
mapper:
package com.meta.hrpz.mapper;
import com.meta.hrpz.domain.entity.NoticeServiceMembers;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* 通知领域成员Mapper接口
*
* @author jiangyan
* @date 2022-06-19
*/
@Repository
public interface NoticeServiceMembersMapper {
/**
* 根据service和EmployeeId查询通知领域成员
*/
NoticeServiceMembers queryByServiceAndEmployeeId(@Param("service") String service, @Param("employeeId") String employeeId);
/**
* 查询通知领域成员列表
*
* @param noticeServiceMembers 参数
* @return list
*/
List<NoticeServiceMembers> queryListByCondition(NoticeServiceMembers noticeServiceMembers);
/**
* 新增通知领域成员
*
* @param noticeServiceMembers 通知领域成员
* @return 新增条数
*/
int insertSelective(NoticeServiceMembers noticeServiceMembers);
/**
* 删除通知领域成员
*
* @param noticeServiceMembers ro
* @return 删除条数
*/
int deleteByCondition(NoticeServiceMembers noticeServiceMembers);
}
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.meta.hrpz.mapper.NoticeServiceMembersMapper">
<resultMap type="com.meta.hrpz.domain.entity.NoticeServiceMembers" id="BaseResultMap">
<result property="service" column="service"/>
<result property="employeeId" column="employeeid"/>
<result property="userName" column="user_name"/>
</resultMap>
<sql id="base_column">
service, employeeid, user_name
</sql>
<select id="queryListByCondition" parameterType="com.meta.hrpz.domain.entity.NoticeServiceMembers" resultMap="BaseResultMap">
select
<include refid="base_column"/>
from t_notice_service_members
<where>
<if test="service != null and service != ''">and service = #{service}</if>
<if test="employeeId != null and employeeId != ''">and employeeid = #{employeeId}</if>
<if test="userName != null and userName != ''">and user_name like concat('%', #{userName}, '%')</if>
</where>
order by employeeid asc
</select>
<select id="queryByServiceAndEmployeeId" resultMap="BaseResultMap">
select
<include refid="base_column"/>
from t_notice_service_members
where service = #{service} and employeeid = #{employeeId}
limit 1
</select>
<insert id="insertSelective" parameterType="com.meta.hrpz.domain.entity.NoticeServiceMembers">
insert into t_notice_service_members
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="service != null">service,</if>
<if test="employeeId != null">employeeid,</if>
<if test="userName != null">user_name,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="service != null">#{service},</if>
<if test="employeeId != null">#{employeeId},</if>
<if test="userName != null">#{userName},</if>
</trim>
</insert>
<update id="deleteByCondition" parameterType="com.meta.hrpz.domain.entity.NoticeServiceMembers">
delete
from t_notice_service_members
<where>
<if test="service != null and service != ''">and service = #{service}</if>
<if test="employeeId != null and employeeId != ''">and employeeid = #{employeeId}</if>
<if test="userName != null and userName != ''">and user_name = #{userName}</if>
</where>
</update>
</mapper>
controller:
package com.meta.hrpz.controller;
import com.meta.common.core.domain.ResponseVo;
import com.meta.common.core.page.TableDataInfo;
import com.meta.hrpz.domain.entity.NoticeServiceMembers;
import com.meta.hrpz.domain.vo.req.NoticeServiceMembersListParamVo;
import com.meta.hrpz.domain.vo.req.SaveNoticeServiceMembersCmd;
import com.meta.hrpz.service.NoticeServiceMembersService;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.validation.Valid;
/**
* 通知领域成员Controller
*
* @author jiangyan
* @date 2022-06-19
*/
@RestController
@RequestMapping("/noticeServiceMembers")
public class NoticeServiceMembersController {
@Resource
private NoticeServiceMembersService noticeServiceMembersService;
/**
* 分页查询列表
*/
@PostMapping("/list")
public TableDataInfo<NoticeServiceMembers> list(@RequestBody NoticeServiceMembersListParamVo paramVo) {
return noticeServiceMembersService.list(paramVo);
}
/**
* 新增
*/
@PostMapping("/add")
public ResponseVo<Void> add(@RequestBody @Valid SaveNoticeServiceMembersCmd cmd) {
return noticeServiceMembersService.add(cmd);
}
/**
* 删除
*/
@PostMapping("/delete")
public ResponseVo<Void> delete(@RequestBody NoticeServiceMembers param) {
return noticeServiceMembersService.delete(param);
}
}