| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- package jnpf.base.controller;
- import io.swagger.v3.oas.annotations.Operation;
- import io.swagger.v3.oas.annotations.Parameter;
- import io.swagger.v3.oas.annotations.Parameters;
- import io.swagger.v3.oas.annotations.tags.Tag;
- import jnpf.base.ActionResult;
- import jnpf.base.Page;
- import jnpf.base.Pagination;
- import jnpf.base.entity.ModuleDataEntity;
- import jnpf.base.entity.ModuleEntity;
- import jnpf.base.entity.SystemEntity;
- import jnpf.base.model.home.MenuModel;
- import jnpf.base.model.module.MenuSelectByUseNumVo;
- import jnpf.base.model.module.ModuleModel;
- import jnpf.base.service.ModuleDataService;
- import jnpf.base.service.ModuleService;
- import jnpf.base.service.ModuleUseNumService;
- import jnpf.base.service.SystemService;
- import jnpf.base.vo.ListVO;
- import jnpf.constant.JnpfConst;
- import jnpf.constant.MsgCode;
- import jnpf.model.login.AllMenuSelectVO;
- import jnpf.permission.model.authorize.AuthorizeVO;
- import jnpf.permission.service.AuthorizeService;
- import jnpf.util.JsonUtil;
- import jnpf.util.StringUtil;
- import jnpf.util.context.RequestContext;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Map;
- import java.util.Objects;
- import java.util.stream.Collectors;
- /**
- * @author :JNPF开发平台组
- * @version: V3.1.0
- * @copyright 引迈信息技术有限公司
- * @date :2024/5/6 上午11:19
- */
- @Tag(name = "常用菜单", description = "data")
- @RestController
- @RequestMapping("/api/system/MenuData")
- public class ModuleDataController extends SuperController<ModuleDataService, ModuleDataEntity> {
- @Autowired
- private ModuleService moduleService;
- @Autowired
- private ModuleDataService moduleDataService;
- @Autowired
- private ModuleUseNumService moduleUseNumService;
- @Autowired
- private AuthorizeService authorizeService;
- @Autowired
- private SystemService systemService;
- /**
- * 常用菜单
- *
- * @return ignore
- */
- @Operation(summary = "常用菜单")
- @GetMapping
- public ActionResult<ListVO<MenuModel>> getDataList(Page page) {
- String category = RequestContext.isOrignPc() ? JnpfConst.WEB : JnpfConst.APP;
- List<ModuleDataEntity> list = moduleDataService.getList(category, page);
- List<SystemEntity> sysListAll = systemService.getList();
- Map<String, String> sysMap = sysListAll.stream().collect(Collectors.toMap(SystemEntity::getId, SystemEntity::getEnCode));
- List<String> appComModule = new ArrayList<>();
- appComModule.addAll(JnpfConst.APP_CONFIG_MODULE);
- appComModule.addAll(JnpfConst.ONLINE_DEV_MODULE);
- List<MenuModel> listVO = new ArrayList<>();
- for (ModuleDataEntity entity : list) {
- ModuleEntity info = moduleService.getInfo(entity.getModuleId());
- if (info != null && Objects.equals(info.getEnabledMark(), 1)) {
- MenuModel vo = JsonUtil.getJsonToBean(info, MenuModel.class);
- vo.setSystemCode(sysMap.get(vo.getSystemId()));
- if (appComModule.contains(vo.getEnCode())) {
- vo.setIsBackend(1);
- } else {
- vo.setIsBackend(0);
- }
- listVO.add(vo);
- }
- }
- ListVO vo = new ListVO();
- vo.setList(listVO);
- return ActionResult.success(vo);
- }
- @Operation(summary = "用户常用功能前十二")
- @GetMapping("/usedMenu")
- public ActionResult<List<MenuSelectByUseNumVo>> getUserMenuList() {
- AuthorizeVO authorize = authorizeService.getAuthorizeByUser(false);
- List<ModuleModel> moduleList = authorize.getModuleList();
- List<String> authMenuList = moduleList.stream().map(ModuleModel::getId).collect(Collectors.toList());
- List<ModuleEntity> allMenu = moduleService.getList();
- return ActionResult.success(moduleUseNumService.getMenuUseNum(1, authMenuList, allMenu));
- }
- @Operation(summary = "用户访问功能次数记录")
- @PostMapping("/useModuleNum/{moduleId}")
- public ActionResult useModuleNum(@PathVariable String moduleId) {
- moduleUseNumService.insertOrUpdateUseNum(moduleId);
- return ActionResult.success();
- }
- @Operation(summary = "用户访问功能次数清空")
- @DeleteMapping("/useModuleNum/{moduleId}")
- public ActionResult deleteUseModuleNum(@PathVariable String moduleId) {
- moduleUseNumService.deleteUseNum(moduleId);
- return ActionResult.success();
- }
- /**
- * 新建
- *
- * @return
- */
- @PostMapping("/{id}")
- @Operation(summary = "新建")
- public ActionResult create(@PathVariable("id") String id) {
- if (moduleDataService.isExistByObjectId(id)) {
- return ActionResult.fail(MsgCode.FA036.get());
- }
- moduleDataService.create(id);
- return ActionResult.success(MsgCode.SU016.get());
- }
- /**
- * 删除
- *
- * @return
- */
- @Operation(summary = "删除")
- @DeleteMapping("/{id}")
- @Parameters({
- @Parameter(name = "id", description = "主键", required = true),
- })
- public ActionResult delete(@PathVariable("id") String id) {
- ModuleDataEntity entity = moduleDataService.getInfo(id);
- if (entity != null) {
- moduleDataService.delete(entity);
- return ActionResult.success(MsgCode.SU021.get());
- }
- return ActionResult.fail(MsgCode.FA003.get());
- }
- /**
- * app常用菜单
- *
- * @return
- */
- @Operation(summary = "app常用菜单")
- @GetMapping("/getDataList")
- public ActionResult<ListVO<AllMenuSelectVO>> getAllList(Page page) {
- List<AllMenuSelectVO> list = moduleDataService.getDataList(page);
- ListVO listVO = new ListVO();
- listVO.setList(list);
- return ActionResult.success(listVO);
- }
- /**
- * app常用详情
- *
- * @return
- */
- @Operation(summary = "app常用详情")
- @GetMapping("/getAppDataList")
- public ActionResult<ListVO<AllMenuSelectVO>> getAppDataList(Pagination pagination) {
- List<AllMenuSelectVO> list = moduleDataService.getAppDataList(pagination);
- ListVO listVO = new ListVO();
- listVO.setList(list);
- return ActionResult.success(listVO);
- }
- }
|