package com.moral.api.service.impl;
import com.moral.api.entity.ManageMenu;
import com.moral.api.entity.ManageRole;
import com.moral.api.mapper.ManageRoleMapper;
import com.moral.api.mapper.ManageRoleMenuMapper;
import com.moral.api.service.ManageRoleService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.moral.constant.Constants;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
*
* 后台角色表 服务实现类
*
*
* @author moral
* @since 2021-03-09
*/
@Service
public class ManageRoleServiceImpl extends ServiceImpl implements ManageRoleService {
@Resource
ManageRoleMapper roleMapper;
public ManageRole getManageRoleByAccountId(String accountId){
if(StringUtils.isEmpty(accountId))
return null;
return null;
}
@Resource
private ManageRoleMapper manageRoleMapper;
@Resource
private ManageRoleMenuMapper manageRoleMenuMapper;
@Override
@Transactional
public List getAll() {
return manageRoleMapper.getAll();
}
@Override
@Transactional
public Map insertOne(ManageRole manageRole,List list) {
Map resultMap = new HashMap<>();
if (manageRole.getName()==null){
resultMap.put("flag",false);
resultMap.put("msg","名称为空!");
return resultMap;
}
if (manageRoleMapper.getManageRoleByName(manageRole.getName()) != null){
resultMap.put("flag",false);
resultMap.put("msg","该角色已存在!");
}else {
manageRoleMapper.insertOne(manageRole);
resultMap.put("flag",true);
resultMap.put("msg","添加成功!");
}
boolean flag = Boolean.parseBoolean(resultMap.get("flag").toString());
if (flag){
ManageRole manageRoleIns = manageRoleMapper.getManageRoleByName(manageRole.getName());
int role_id = manageRoleIns.getId();
System.out.println(role_id);
List insertList = new ArrayList();
for (Object temp: list) {
Map insertMap = new HashMap<>();
insertMap.put("role_id",role_id);
insertMap.put("menu_id",Integer.parseInt(temp.toString()));
insertList.add(insertMap);
}
System.out.println(insertList);
manageRoleMenuMapper.insertBatch(insertList);
}
return resultMap;
}
@Override
@Transactional
public Map updateManageRole(Map map) {
Map resultMap = new HashMap<>();
if (!map.containsKey("id")){
resultMap.put("flag",false);
resultMap.put("msg","未选择更新目标!");
return resultMap;
}
if (manageRoleMapper.getManageRoleById(Integer.parseInt(map.get("id").toString())) == null){
resultMap.put("flag",false);
resultMap.put("msg","该角色不存在!");
}else {
manageRoleMapper.updateManageRoleById(map);
resultMap.put("flag",true);
resultMap.put("msg","更新成功!");
}
return resultMap;
}
@Override
@Transactional
public List getManageRoleByNameFuzzy(ManageRole manageRole) {
return manageRoleMapper.getManageRoleByNameFuzzy(manageRole);
}
@Override
public Map deleteManageRole(Map map) {
Map resultMap = new HashMap<>();
if (!map.containsKey("id")){
resultMap.put("flag",false);
resultMap.put("msg","未选择删除目标!");
return resultMap;
}
if (manageRoleMapper.getManageRoleById(Integer.parseInt(map.get("id").toString())) == null){
resultMap.put("flag",false);
resultMap.put("msg","该角色不存在或已被删除!");
}else {
ManageRole manageRole = new ManageRole();
manageRole.setId(Integer.parseInt(map.get("id").toString()));
manageRole.setIsDelete(Constants.DELETE);
Map deleteMap = new HashMap();
deleteMap.put("id",Integer.parseInt(map.get("id").toString()));
deleteMap.put("is_delete",1);
manageRoleMapper.updateManageRoleById(deleteMap);
resultMap.put("flag",true);
resultMap.put("msg","删除成功!");
}
return resultMap;
}
}