package com.engine.organization.service.impl; import com.cloudstore.eccom.result.WeaResultMsg; import com.engine.core.impl.Service; import com.engine.organization.component.OrganizationWeaTable; import com.engine.organization.entity.extend.bo.ExtendInfoBO; import com.engine.organization.entity.extend.po.ExtendInfoPO; import com.engine.organization.entity.personnelcard.po.CardAccessPO; import com.engine.organization.entity.personnelcard.po.CardButtonPO; import com.engine.organization.entity.personnelcard.vo.CardAccessVO; import com.engine.organization.mapper.personnelcard.CardAccessMapper; import com.engine.organization.mapper.personnelcard.CardButtonMapper; import com.engine.organization.service.CardAccessService; import com.engine.organization.transmethod.SystemTransMethod; import com.engine.organization.util.HasRightUtil; import com.engine.organization.util.db.MapperProxyFactory; import weaver.general.Util; import java.util.*; import java.util.stream.Collectors; /** * @Author weaver_cl * @Description: * @Date 2022/11/1 * @Version V1.0 **/ public class CardAccessServiceImpl extends Service implements CardAccessService { private static final String RIGHT_NAME = "CardAccess:All"; private CardAccessMapper getCardAccessMapper() { return MapperProxyFactory.getProxy(CardAccessMapper.class); } private CardButtonMapper getCardButtonMapper() { return MapperProxyFactory.getProxy(CardButtonMapper.class); } @Override public Map tablePage() { Map resultMap = new HashMap<>(); OrganizationWeaTable table = new OrganizationWeaTable<>(user, CardAccessVO.class); String sqlWhere = " where delete_type = 0"; table.setSqlwhere(sqlWhere); WeaResultMsg result = new WeaResultMsg(false); result.putAll(table.makeDataResult()); result.success(); resultMap.putAll(result.getResultMap()); return resultMap; } @Override public Map hasRight() { Map resultMap = new HashMap<>(); boolean hasRight = HasRightUtil.hasRight(user, RIGHT_NAME, true); resultMap.put("hasRight", hasRight); return resultMap; } @Override public int save(Map params) { int rowNum = Util.getIntValue((String) params.get("rownum")); List dataList = new ArrayList<>(); for (int i = 0; i < rowNum; i++) { CardAccessPO data = CardAccessPO.builder() .id(Util.getIntValue((String)params.get("id_"+i))) .status(Util.getIntValue((String)params.get("status_"+i))) .allPeople(Util.getIntValue((String)params.get("all_people_"+i))) .superior(Util.getIntValue((String)params.get("superior_"+i))) .allSuperior(Util.getIntValue((String)params.get("all_superior_"+i))) .custom(Util.null2String(params.get("custom_"+i))) .updateTime(new Date()) .build(); dataList.add(data); } return getCardAccessMapper().saveCardAccess(dataList); } @Override public int deleteByIds(Collection ids) { return getCardAccessMapper().deleteByIds(ids); } @Override public int addData(CardAccessPO cardAccessPO) { return getCardAccessMapper().insertIgnoreNull(cardAccessPO); } @Override public int updateTabName(String name,Integer id) { return getCardAccessMapper().updateTabName(name,id); } @Override public Map getCardButtonFrom() { // 区分主表明细表 String tableName = "JCL_ORG_CARDBUTTON"; List infoPOList = new ArrayList<>(); infoPOList.add(ExtendInfoPO.builder().id(null).tableName(tableName).fieldName("name").fieldNameDesc("按钮名称").fieldType("varchar(50)").controlType(1).browserType("1").customValue("[\"input\",\"text\",\"50\"]").showOrder(1).isSystemDefault(0).build()); infoPOList.add(ExtendInfoPO.builder().id(null).tableName(tableName).fieldName("status").fieldNameDesc("启用").fieldType("char(1)").controlType(1).browserType("1").customValue("[\"check\"]").showOrder(2).isSystemDefault(0).build()); infoPOList.add(ExtendInfoPO.builder().id(null).tableName(tableName).fieldName("url").fieldNameDesc("跳转地址").fieldType("varchar(1000)").controlType(1).browserType("1").customValue("[\"input\",\"text\",\"1000\"]").showOrder(3).isSystemDefault(0).build()); infoPOList.add(ExtendInfoPO.builder().id(null).tableName(tableName).fieldName("roles").fieldNameDesc("角色").fieldType("text").controlType(1).browserType("65").customValue("[\"browser\",{\"valueSpan\":\"多角色\",\"replaceDatas\":[{\"itemorderid\":\"65\",\"name\":\"多角色\",\"id\":\"65\",\"parenttitle\":\"人员\",\"title\":\"人员-多角色\"}],\"value\":\"65\"}]").showOrder(4).isSystemDefault(0).build()); Map tabinfoMap = new HashMap<>(); tabinfoMap.put("columns", ExtendInfoBO.convertInfoListToTable(user, infoPOList, 2, false)); // 去除null 元素 List cardButtonPOS = getCardButtonMapper().listAll(); // 兼容Oracle,map的key转换为小写 List> collect = cardButtonPOS.stream().map(item -> { Map resultMap = new HashMap<>(); resultMap.put("id", item.getId()); resultMap.put("name", item.getName()); resultMap.put("status", item.getStatus()); resultMap.put("url", item.getUrl()); resultMap.put("roles", item.getRoles()); resultMap.put("rolesspan", SystemTransMethod.getRoleName(item.getRoles())); return resultMap; }).collect(Collectors.toList()); tabinfoMap.put("datas", collect); tabinfoMap.put("api_status", true); return tabinfoMap; } @Override public int saveCardButton(Map params) { return 0; } }