一种:根据ID集合批量修改属性
列如:mapper层
/** * 批量删除员工 * @param param 入参 */ void batchEmpStatus(DeleteEmpParam param);
mapper.xml层
<update id="batchEmpStatus" parameterType="net.sharing.backstage.oa.param.emp.DeleteEmpParam">
update oa_emp set del_flag = 1,updater_id = #{updaterId},updater_name = # {updaterName}
where merchant_id = #{merchantId}
<if test="ids != null and ids.size() >0 ">
and `id` in
<foreach collection="ids" item="item" separator="," open="(" close=")">
#{item}
</foreach>
</if>
</update>
实体类:DeleteEmpParam
package net.sharing.backstage.oa.param.emp;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import net.sharing.backstage.oa.annotation.Open;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* @program: sharing-backstage
* @Description: 删除员工实体类
* @Author: zwx
* @Date: 2022/1/20 18:20
*/
@Data
@Accessors(chain = true)
public class DeleteEmpParam {
/**
* 商户id
*/
private Long merchantId;
/**
* 0删除时同时禁用对应的账号, 1不禁用对应的账号
*/
@ApiModelProperty("0删除时同时禁用对应的账号, 1不禁用对应的账号")
@NotNull(message = "0删除时同时禁用对应的账号, 1不禁用对应的账号不能为空!")
private Integer flag;
/**
* 员工ID集合
*/
@ApiModelProperty("员工ID集合")
@NotNull(message = "员工ID集合不能为空!")
private List<Long> ids;
/**
* 更新人ID
*/
private Long updaterId;
/**
* 更新人姓名
*/
private String updaterName;
}
二种:批量修改多个属性
mapper层:
/**
* 批量修改员工表状态和userId
* @param list 入参
*/
void batchUpdateEmpAccStatus(@Param("list") List<EmpParam> list);
mapper.xml层:
<update id="batchUpdateEmpAccStatus">
<foreach collection="list" item="item" index="index" open="" close="" separator=";">
update oa_emp
<set>
`user_id`= ${item.userId},
`acc_status` = ${item.accStatus},
`updater_id` = ${item.updaterId},
`updater_name` = ${item.updaterName}
</set>
where `id` = ${item.id}
</foreach>
</update>
实体类:EmpParam
/**
* @program: sharing-backstage
* @Description: 员工入参
* @Author: zwx
* @Date: 2022/1/19 10:44
*/
@Data
@Accessors(chain = true)
public class EmpParam {
/**
* 员工ID
*/
@ApiModelProperty("员工ID")
@NotNull(groups = {Open.class},message = "员工ID不能为空!")
private Long id;
/**
* 商户ID
*/
@ApiModelProperty("商户ID")
private Long merchantId;
/**
* 用户ID
*/
@ApiModelProperty("用户ID")
private Long userId;
/**
* 用户头像url
*/
@ApiModelProperty("用户头像url")
private String headUrl;
/**
* 员工姓名
*/
@NotBlank(groups = {Insert.class,Open.class},message = "员工姓名不能为空!")
@Size(groups = {Insert.class,Open.class},max = 20, message = "员工姓名长度不能超过20个字符!")
@ApiModelProperty("员工姓名")
private String name;
/**
* 姓名/工号
*/
@ApiModelProperty("姓名/工号")
private String keyWord;
/**
* 员工工号
*/
@NotBlank(groups = {Insert.class},message = "员工工号不能为空!")
@Size(groups = {Insert.class},max = 10, message = "员工工号长度不能超过10个字符!")
@ApiModelProperty("员工工号")
private String workCode;
/**
* 员工手机号码
*/
@NotBlank(groups = {Insert.class,Open.class},message = "手机号码不能为空!")
@Pattern(groups = {Insert.class,Open.class},regexp = "^1\\d{10}$", message = "手机号必须是11位数字,并以1开头")
@ApiModelProperty("员工手机号码")
private String phone;
/**
* 部门ID
*/
@ApiModelProperty("部门ID")
@NotNull(groups = {Insert.class,Open.class},message = "部门id不能为空!")
private Long deptId;
/**
* 部门编码
*/
@ApiModelProperty("部门编码")
private String deptCode;
/**
* 岗位
*/
@ApiModelProperty("岗位")
private String postName;
/**
* 直接上级ID
*/
@ApiModelProperty("直接上级ID")
private Long leaderId;
/**
* 性别 0女 1男 2 未知
*/
@ApiModelProperty("性别 0女 1男 2 未知")
private Integer sex;
/**
* 出生日期
*/
@ApiModelProperty("出生日期")
private String birthday;
/**
* 年龄
*/
@ApiModelProperty("年龄")
private Integer age;
/**
* 学历code,数据字典
*/
@ApiModelProperty("学历code,数据字典")
private String eduCode;
/**
* 同时开通账户开关:0关,1开
*/
@ApiModelProperty("同时开通账户开关:0关,1开")
@NotNull(groups = {Insert.class,Open.class},message = "同时开通账户开关:0关,1开!")
private Integer accStatus;
/**
* 登录账号:上述开关传1开启时,此字段必填
*/
@ApiModelProperty("登录账号:上述开关传1开启时,此字段必填")
@NotBlank(groups = {Open.class},message = "登录账号不能为空!")
@Size(groups = {Insert.class,Open.class},min = 6,max = 20, message = "请输入6~20位登录账号")
private String loginAcc;
/**
* 初始密码
*/
@ApiModelProperty("初始密码")
@Size(groups = {Insert.class,Open.class},min = 6,max = 20, message = "请输入6~20位登录密码")
private String initPassword;
/**
* 用户角色
*/
@ApiModelProperty("用户角色")
private List<Long> roleIds;
}
版权声明:本文为a116385895原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。