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