5 changed files with 128 additions and 46 deletions
@ -0,0 +1,18 @@ |
|||
package com.qs.serve.modules.biz.entity.bo; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @author YenHex |
|||
* @since 2023/10/25 |
|||
*/ |
|||
@Data |
|||
public class BizUserGroupItemBatchBo { |
|||
|
|||
private Long groupId; |
|||
|
|||
private List<BizUserGroupBatchBo.Item> items; |
|||
|
|||
} |
@ -0,0 +1,92 @@ |
|||
package com.qs.serve.modules.biz.service.impl; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|||
import com.qs.serve.common.model.dto.R; |
|||
import com.qs.serve.common.util.Assert; |
|||
import com.qs.serve.common.util.AuthContextUtils; |
|||
import com.qs.serve.modules.biz.consts.GroupDataType; |
|||
import com.qs.serve.modules.biz.entity.BizUserGroup; |
|||
import com.qs.serve.modules.biz.entity.BizUserGroupItem; |
|||
import com.qs.serve.modules.biz.entity.bo.BizUserGroupBatchBo; |
|||
import com.qs.serve.modules.biz.service.BizUserGroupItemService; |
|||
import com.qs.serve.modules.biz.service.BizUserGroupService; |
|||
import com.qs.serve.modules.sys.entity.SysDept; |
|||
import com.qs.serve.modules.sys.entity.SysUser; |
|||
import com.qs.serve.modules.sys.service.SysDeptService; |
|||
import com.qs.serve.modules.sys.service.SysUserService; |
|||
import lombok.AllArgsConstructor; |
|||
import org.springframework.stereotype.Service; |
|||
import org.springframework.transaction.annotation.Transactional; |
|||
import org.springframework.web.bind.annotation.PostMapping; |
|||
import org.springframework.web.bind.annotation.RequestBody; |
|||
|
|||
import javax.validation.Valid; |
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @author YenHex |
|||
* @since 2023/10/25 |
|||
*/ |
|||
@Service |
|||
@AllArgsConstructor |
|||
public class BizUserGroupApplicationService { |
|||
|
|||
private BizUserGroupService bizUserGroupService; |
|||
private BizUserGroupItemService bizUserGroupItemService; |
|||
private SysUserService sysUserService; |
|||
private SysDeptService sysDeptService; |
|||
|
|||
|
|||
/** |
|||
* 编辑 (场景:同时编辑分组数据) |
|||
* @param param |
|||
* @return*/ |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public void editWithItem(BizUserGroupBatchBo param){ |
|||
SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId()); |
|||
BizUserGroup bizUserGroup = new BizUserGroup(); |
|||
if(param.getId()!=null){ |
|||
bizUserGroup = bizUserGroupService.getById(param.getId()); |
|||
if(!bizUserGroup.getUserId().equals(AuthContextUtils.getSysUserId())){ |
|||
Assert.throwEx("无相关数据"); |
|||
} |
|||
} |
|||
if(param.getEditGroupFlag().equals(1)){ |
|||
bizUserGroup.setGroupName(param.getGroupName()); |
|||
bizUserGroup.setUserId(sysUser.getId()); |
|||
bizUserGroup.setUserCode(sysUser.getCode()); |
|||
bizUserGroup.setUserName(sysUser.getName()); |
|||
bizUserGroup.setScene(param.getScene()); |
|||
bizUserGroup.setRemark(param.getRemark()); |
|||
bizUserGroupService.saveOrUpdate(bizUserGroup); |
|||
} |
|||
Long groupId = bizUserGroup.getId(); |
|||
//移除历史ITEM
|
|||
LambdaQueryWrapper<BizUserGroupItem> itemLqw = new LambdaQueryWrapper<>(); |
|||
itemLqw.eq(BizUserGroupItem::getGroupId,groupId); |
|||
bizUserGroupItemService.remove(itemLqw); |
|||
//保存item
|
|||
List<BizUserGroupItem> groupItemList = new ArrayList<>(); |
|||
for (BizUserGroupBatchBo.Item item : param.getItems()) { |
|||
BizUserGroupItem groupItem = new BizUserGroupItem(); |
|||
groupItem.setGroupId(groupId); |
|||
groupItem.setTargetType(item.getTargetType()); |
|||
groupItem.setTargetId(item.getTargetId()); |
|||
if(item.getTargetType().equals(GroupDataType.USER)){ |
|||
SysUser user = sysUserService.getById(item.getTargetId()); |
|||
groupItem.setTargetName(user.getName()); |
|||
groupItem.setTargetCode(user.getCode()); |
|||
}else if (item.getTargetType().equals(GroupDataType.DEPT)){ |
|||
SysDept dept = sysDeptService.getById(item.getTargetId()); |
|||
groupItem.setTargetName(dept.getName()); |
|||
groupItem.setTargetCode(dept.getCode()); |
|||
}else { |
|||
continue; |
|||
} |
|||
groupItemList.add(groupItem); |
|||
} |
|||
bizUserGroupItemService.saveBatch(groupItemList); |
|||
} |
|||
|
|||
} |
Loading…
Reference in new issue