| | |
| | | package com.highdatas.mdm.service.impl; |
| | | |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.mapper.Wrapper; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.servlet.http.HttpSession; |
| | | import java.io.UnsupportedEncodingException; |
| | | import java.util.Date; |
| | | import java.util.Map; |
| | | |
| | |
| | | IMasterAuthorService masterAuthorService; |
| | | |
| | | public static final String key = "process"; |
| | | |
| | | /** |
| | | * |
| | | * @description: 创建menumapping对象 |
| | | * @param json menu mapping josn数据 |
| | | * @param session 用户从session里获取 |
| | | * @return: menu mapping对象 |
| | | * |
| | | */ |
| | | @Override |
| | | public MenuMapping create(String json, HttpSession session) { |
| | | JSONObject jsonObject = JSONObject.parseObject(json); |
| | |
| | | //menuMapping.setMaintainFieldId(maintainId); |
| | | return create(menuMapping); |
| | | } |
| | | |
| | | @Deprecated |
| | | private Maintain createMaintain(String userId, JSONObject jsonObject, String flowsId) { |
| | | Maintain maintain = new Maintain(); |
| | | maintain.setCreateTime(new Date()); |
| | |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @description: 保存menumapping对象 |
| | | * @param menuMapping menumapping 对象 |
| | | * @return: menu mapping对象 |
| | | * |
| | | */ |
| | | @Override |
| | | public MenuMapping create(MenuMapping menuMapping) { |
| | | menuMapping.setCreateTime(new Date()); |
| | | menuMapping.setId(DbUtils.getUUID()); |
| | |
| | | String tableName = WorkflowUtils.toFirstChar(name.toLowerCase()); |
| | | tableName = Constant.MD + tableName; |
| | | String tableByName = tableInfoMapper.selectTableByName(tableName); |
| | | |
| | | if (!StringUtils.isEmpty(tableByName)){ |
| | | tableName = tableName + "_" + DbUtils.getUUID(5); |
| | | int sameCount = selectCount(new EntityWrapper<MenuMapping>().eq("table_name", tableName)); |
| | | if (sameCount > 0) { |
| | | tableName = tableName + "_" + DbUtils.getUUID(5); |
| | | } |
| | | } |
| | | int length = 0; |
| | | try { |
| | | length = tableName.getBytes("UTF-8").length; |
| | | } catch (UnsupportedEncodingException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | if (length > 18) { |
| | | tableName = Constant.MD + DbUtils.getUUID(10); |
| | | } |
| | | menuMapping.setTableName(tableName); |
| | | boolean insert = this.insert(menuMapping); |
| | |
| | | |
| | | return this.updateById(menuMapping); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @description: 通过主题获取menumapping |
| | | * @param id 主题id |
| | | * @param session 用户从session里获取 |
| | | * @return: menu mapping对象 |
| | | * |
| | | */ |
| | | @Override |
| | | public Result getMapping(HttpSession session, String id) { |
| | | SysMenu sysMenu = menuService.selectById(id); |
| | |
| | | if (menuMapping == null) { |
| | | return Result.error(new CodeMsg(10008,"当前主题无版本数据")); |
| | | } |
| | | |
| | | String tableName = menuMapping.getTableName(); |
| | | String chargeId = menuMapping.getChargeId(); |
| | | TUser userByChargeId = DbUtils.getUserById(chargeId); |
| | | |
| | | TUser user = (TUser) session.getAttribute(Constant.USER); |
| | | |
| | | Maintain resultMaintain = masterAuthorService.getMaxVersionMaintain(user.getUserId(), tableName); |
| | | Maintain resultMaintain = masterAuthorService.getMaxVersionMaintain(user, tableName); |
| | | Maintain nowVersion = maintainService.getNowVersion(tableName); |
| | | |
| | | if (resultMaintain != null) { |
| | | if (nowVersion.getOrderNo().equals(resultMaintain.getOrderNo())) { |
| | | mapping.put("maintainType", 0); |
| | | }else { |
| | | mapping.put("maintainType", 1); |
| | | } |
| | | mapping.put("version", resultMaintain.getVersion()); |
| | | mapping.put("maintainId", resultMaintain.getId()); |
| | | } |
| | | if (userByChargeId != null) { |
| | | mapping.put("userName", userByChargeId.getUserName()); |
| | | } |
| | | if (nowVersion != null) { |
| | | mapping.put("hasData", true); |
| | | }else { |
| | | mapping.put("hasData", false); |
| | | } |
| | | return Result.success(mapping); |
| | | |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @description: 通过表名获取主题 |
| | | * @param tableName 表名 |
| | | * @return: 主题对象 |
| | | * |
| | | */ |
| | | @Override |
| | | public SysMenu getMenuByTableName(String tableName) { |
| | | MenuMapping menuMapping = selectOne(new EntityWrapper<MenuMapping>().eq("table_name", tableName).orderBy("create_time desc")); |
| | |
| | | SysMenu sysMenu = menuService.selectById(menuId); |
| | | return sysMenu; |
| | | } |
| | | /** |
| | | * |
| | | * @description: 通过主题获取menumapping |
| | | * @param id 主题id |
| | | * @param session 用户从session里获取 |
| | | * @return: menu mapping对象 |
| | | * |
| | | */ |
| | | @Override |
| | | public MenuMapping getMenuMappingByTableName(String tableName) { |
| | | MenuMapping menuMapping = selectOne(new EntityWrapper<MenuMapping>().eq("table_name", tableName).orderBy("create_time desc")); |
| | | if (menuMapping == null) { |
| | | return null; |
| | | } |
| | | return menuMapping; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * |
| | | * @description: 通过主题获取menumapping |
| | | * @param menuId 主题id |
| | | * @return: menumapping对象 |
| | | * |
| | | */ |
| | | @Override |
| | | public String getTableNameByMenu(String menuId) { |
| | | MenuMapping menuMapping = selectOne(new EntityWrapper<MenuMapping>().eq("menu_id", menuId).orderBy("create_time desc")); |