一种:根据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; }
相关文章
暂无评论...