Sfoglia il codice sorgente

菜单权限的调整

785834757 7 mesi fa
parent
commit
89afae46eb

+ 66 - 2
commons/src/main/java/com/jzg/commons/entity/po/SysMenu.java

@@ -1,17 +1,81 @@
 package com.jzg.commons.entity.po;
 
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
+import java.util.Date;
+import java.util.List;
+
 @Data
 public class SysMenu {
 
+    @TableId(value = "id", type = IdType.AUTO)
     private String id;
 
-    private String systemId;
+    @TableField(value = "title")
+    @Schema(description = "菜单标题")
+    private String title;
 
+    @TableField(value = "name")
+    @Schema(description = "菜单名称")
     private String name;
 
+    @TableField(value = "parent_id")
+    @Schema(description = "父菜单id")
     private String parentId;
-
+    @Schema(description = "菜单路由")
+    private String path;
+    @Schema(description = "组件")
+    private String component;
+    @Schema(description = "跳转")
+    private String redirect;
+    @Schema(description = "菜单权限")
     private String perms;
+    @Schema(description = "")
+    private String activeMenu;
+    @Schema(description = "菜单类型  0 目录 1菜单  2按钮")
+    private Integer type;
+    @Schema(description = "图标")
+    private String icon;
+    @TableField(value = "order_num")
+    @Schema(description = "排序")
+    private Integer orderNum = 0;
+    @TableField(value = "create_by")
+    private String createBy;
+    @TableField(value = "create_time")
+    private Date createTime;
+    @TableField(value = "last_update_by")
+    private String lastUpdateBy;
+    @TableField(value = "last_update_time")
+    private Date lastUpdateTime;
+    @TableField(value = "del_flag")
+    private Integer delFlag;
+    // 非数据库字段
+    @TableField(exist = false)
+    private String parentName;
+
+    // 非数据库字段
+    @TableField(exist = false)
+    private String parentUrl;
+    // 非数据库字段
+    @TableField(exist = false)
+    private Integer level;
+    // 非数据库字段
+    @TableField(exist = false)
+    @Schema(description = "子级菜单")
+    private List<SysMenu> children;
+
+    @TableField(value = "menu")
+    private Integer menu;
+
+    /***
+     * 添加菜单类型 1.车险 2. 控制台
+     */
+    @TableField(value = "sys_type")
+    @Schema(description = "菜单类型 1 车险 2.控制台")
+    private String sysType;
+
 }

+ 3 - 1
commons/src/main/java/com/jzg/commons/entity/quote/vo/aggregated/QuoteEchoVo.java

@@ -14,6 +14,7 @@ import com.jzg.commons.entity.quote.vo.KindInfoVo;
 import com.jzg.commons.entity.quote.vo.QuoteVo;
 import com.jzg.commons.entity.quote.vo.RiskInfoVo;
 import com.jzg.commons.entity.quote.vo.base.OrderBase;
+import com.jzg.commons.entity.quote.vo.image.InsuranceImageVo;
 import com.jzg.commons.entity.quote.vo.orders.InsOrdersVo;
 import com.jzg.commons.entity.scheme.vo.PtlAgreementInsCompanyVo;
 import com.jzg.commons.entity.vo.ImagesVo;
@@ -191,7 +192,8 @@ public class QuoteEchoVo extends QuoteVo {
     /**
      * 影像资料
      */
-    private List<ImagesVo> imageVoList;
+//    private List<ImagesVo> imageVoList;
+    private List<InsuranceImageVo> imageVoList;
 
     /**
      * 费用信息

+ 16 - 0
commons/src/main/java/com/jzg/commons/entity/vo/MenuEntity.java

@@ -0,0 +1,16 @@
+package com.jzg.commons.entity.vo;
+
+import lombok.Data;
+
+@Data
+public class MenuEntity {
+    private Integer id;
+    private Integer parentId;
+    private String name;
+    private String path;
+    private String component;
+    private String componentName;
+    private String icon;
+    private String activeMenu;
+    private Integer hidden;
+}

+ 17 - 0
commons/src/main/java/com/jzg/commons/entity/vo/MenuVO.java

@@ -0,0 +1,17 @@
+package com.jzg.commons.entity.vo;
+
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Data
+public class MenuVO {
+    private Integer id;
+    private String path;
+    private String name;
+    private String title;
+    private String component;
+    private Meta meta;
+    private List<MenuVO> children = new ArrayList<>();
+}

+ 14 - 0
commons/src/main/java/com/jzg/commons/entity/vo/Meta.java

@@ -0,0 +1,14 @@
+package com.jzg.commons.entity.vo;
+
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Data
+public class Meta {
+    private String title;
+    private String icon;
+    private Boolean menu;
+    private String activeMenu;
+}

+ 64 - 0
platform/src/main/java/com/jzg/controller/SysMenuController.java

@@ -0,0 +1,64 @@
+package com.jzg.controller;
+
+import com.jzg.commons.core.base.BaseController;
+import com.jzg.commons.core.page.HttpResult;
+import com.jzg.commons.entity.po.SysMenu;
+import com.jzg.commons.util.StringUtils;
+import com.jzg.service.SysMenuService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 菜单控制器
+ *
+ * @author Yasepix
+ * @date Oct 29, 2018
+ */
+@RestController
+@RequestMapping("menu")
+public class SysMenuController extends BaseController {
+
+    @Autowired
+    private SysMenuService sysMenuService;
+
+
+    @PostMapping(value = "/save")
+    public HttpResult save(@RequestBody SysMenu record) {
+        record.setSysType("1");
+        if (StringUtils.isNullOrEmpty(record.getId()) || record.getId().equalsIgnoreCase("0")) {
+            return HttpResult.ok(sysMenuService.save(record));
+        } else {
+            return HttpResult.ok(sysMenuService.updateById(record));
+        }
+    }
+
+
+    @PostMapping(value = "/delete")
+    public HttpResult delete(@RequestBody List<SysMenu> records) {
+        List<String> ids = records.stream().map(SysMenu::getId).collect(Collectors.toList());
+        return HttpResult.ok(sysMenuService.removeBatchByIds(ids));
+    }
+
+
+    @GetMapping(value = "/findNavTree")
+    public HttpResult findNavTree(@RequestParam String userName) {
+        return HttpResult.ok(sysMenuService.findTree(userName, 1));
+    }
+
+
+    @GetMapping(value = "/findMenuTree")
+    public HttpResult findMenuTree() {
+
+        return HttpResult.ok(sysMenuService.findTree(getUserName(), 0));
+    }
+
+    @GetMapping(value = "/getAllButtons")
+    public HttpResult getAllButtons(){
+        return HttpResult.ok(sysMenuService.getAllButtons());
+    }
+
+
+}

+ 22 - 0
platform/src/main/java/com/jzg/service/SysMenuService.java

@@ -0,0 +1,22 @@
+package com.jzg.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jzg.commons.entity.po.SysMenu;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+public interface SysMenuService extends IService<SysMenu> {
+    public List<SysMenu> findTree(String userName, int menuType);
+
+    public List<SysMenu> findByUser(String userName);
+
+    public List<String> getAllButtons();
+
+
+}
+
+
+

+ 122 - 0
platform/src/main/java/com/jzg/service/impl/SysMenuServiceImpl.java

@@ -0,0 +1,122 @@
+package com.jzg.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollectionUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jzg.commons.entity.po.SysMenu;
+import com.jzg.mapper.SysMenuMapper;
+import com.jzg.service.SysMenuService;
+import com.jzg.service.SysUserService;
+import lombok.RequiredArgsConstructor;
+import org.apache.commons.lang3.ObjectUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+
+@Service
+@RequiredArgsConstructor
+public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu>
+        implements SysMenuService {
+
+    private final SysUserService sysUserService;
+
+    private final SysMenuMapper sysMenuMapper;
+
+
+    @Override
+    public List<SysMenu> findTree(String userName, int menuType) {
+        List<SysMenu> sysMenus = new ArrayList<>();
+
+        List<SysMenu> menus = findByUser(userName);
+        for (SysMenu menu : menus) {
+            if (menu.getParentId() == null || menu.getParentId().equalsIgnoreCase("0")) {
+                menu.setLevel(0);
+                if (!exists(sysMenus, menu)) {
+                    sysMenus.add(menu);
+                }
+            }
+        }
+        sysMenus.sort((o1, o2) -> o1.getOrderNum().compareTo(o2.getOrderNum()));
+        findChildren(sysMenus, menus, menuType);
+        return sysMenus;
+    }
+
+    @Override
+    public List<SysMenu> findByUser(String userName) {
+         LambdaQueryWrapper<SysMenu> lqw = new LambdaQueryWrapper<>();
+        lqw.eq(SysMenu::getDelFlag, 0);
+        lqw.eq(SysMenu::getSysType, 1);
+        return list(lqw);
+    }
+
+    @Override
+    public List<String> getAllButtons() {
+        LambdaQueryWrapper<SysMenu> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.eq(SysMenu::getType,"3");
+        List<SysMenu> sysMenus = baseMapper.selectList(lambdaQueryWrapper);
+        List<String> perms = new ArrayList<>();
+        sysMenus.forEach(item->{
+            perms.add(item.getPerms());
+        });
+        return perms;
+    }
+
+    private void findChildren(List<SysMenu> SysMenus, List<SysMenu> menus, int menuType) {
+
+        for (SysMenu SysMenu : SysMenus) {
+            List<SysMenu> children = new ArrayList<>();
+            for (SysMenu menu : menus) {
+                if (menuType == 1 && menu.getType() == 2) {
+                    // 如果是获取类型不需要按钮,且菜单类型是按钮的,直接过滤掉
+                    continue;
+                }
+                if (SysMenu.getId() != null && SysMenu.getId().equals(menu.getParentId())) {
+                    menu.setParentName(SysMenu.getName());
+                    menu.setLevel(SysMenu.getLevel() + 1);
+                    if (!exists(children, menu)) {
+                        children.add(menu);
+                    }
+                }
+            }
+            SysMenu.setChildren(children);
+            children.sort((o1, o2) -> o1.getOrderNum().compareTo(o2.getOrderNum()));
+            findChildren(children, menus, menuType);
+        }
+    }
+
+    private boolean exists(List<SysMenu> sysMenus, SysMenu sysMenu) {
+        boolean exist = false;
+        for (SysMenu menu : sysMenus) {
+            if (menu.getId().equals(sysMenu.getId())) {
+                exist = true;
+            }
+        }
+        return exist;
+    }
+
+    private void addParentMenu(List<SysMenu>   menus) {
+        List<String> menuIds = menus.stream().map(SysMenu::getId).collect(Collectors.toList()); //menuIds
+        for (String menuId : menuIds) {
+            this.addParentId(menuId,menuIds,menus);
+        }
+    }
+
+    private void addParentId(String menuId, List<String> menuIds, List<SysMenu> menus) {
+        SysMenu sysMenu = baseMapper.selectById(menuId);
+        if(ObjectUtils.isNotEmpty(sysMenu)){
+            if( !menuIds.contains(sysMenu.getParentId())){
+                menus.add(sysMenu);
+                this.addParentId(sysMenu.getParentId(),menuIds,menus);
+            }
+        }
+    }
+
+
+}
+
+
+

+ 1 - 1
tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/crawler/component/HtCrawlerRequestComponent.java

@@ -152,7 +152,7 @@ public class HtCrawlerRequestComponent {
      */
     public HttpHeaders getHeaders() {
         String cookie = getCookie();
-        if (cookie.isEmpty()) {
+        if (cookie == null || cookie.isEmpty()) {
             cookie = getHaTaiCookie(RequestUrl.NE_COOKIE.getRequestUrl(huaTaiCrawlerProperties.getBaseUrl()));
         }
         HttpHeaders headers = new HttpHeaders();

+ 29 - 10
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsOrdersServiceImpl.java

@@ -29,6 +29,7 @@ import com.jzg.commons.entity.quote.vo.aggregated.OrderStatusResultVo;
 import com.jzg.commons.entity.quote.vo.aggregated.QuoteEchoVo;
 import com.jzg.commons.entity.quote.vo.aggregated.QuoteResultsVo;
 import com.jzg.commons.entity.quote.vo.aggregated.UnderwritingResultsVo;
+import com.jzg.commons.entity.quote.vo.image.InsuranceImageVo;
 import com.jzg.commons.entity.vo.*;
 import com.jzg.commons.exception.SystemException;
 import com.jzg.commons.util.AssertionUtils;
@@ -46,6 +47,7 @@ import com.jzg.quotation.summary.consumer.template.OrderMessageTemplate;
 import com.jzg.quotation.summary.mapper.*;
 import com.jzg.quotation.summary.service.*;
 import com.jzg.quotation.summary.state.listener.OrderStateListener;
+import com.jzg.quotation.zhongan.crawler.entity.response.ZhongAnCrawlerUploadInitDateResponse;
 import jakarta.servlet.http.HttpServletRequest;
 import lombok.RequiredArgsConstructor;
 import lombok.Setter;
@@ -1062,21 +1064,38 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         List<InsTaskImages> imagesList = insTaskImagesService.list(new LambdaQueryWrapper<InsTaskImages>()
                 .eq(InsTaskImages::getQuoteNo, insOrdersVo.getQuoteNo())
                 .eq(InsTaskImages::getIsDelete, 0));
-        List<ImagesVo> imageVoList = new ArrayList<>();
+//        List<ImagesVo> imageVoList = new ArrayList<>();
+//        for (InsTaskImages images : imagesList) {
+//            ImagesVo imagesVo = new ImagesVo();
+//            SysUploadFiles sysUploadFiles = sysUploadFilesMapper.selectById(images.getImageId());
+//            if (!Objects.isNull(sysUploadFiles)){
+//                imagesVo.setImageId(sysUploadFiles.getId());
+//                imagesVo.setFileName(sysUploadFiles.getFileName());
+//                imagesVo.setFileType(sysUploadFiles.getFileType());
+//                imagesVo.setBucketName(sysUploadFiles.getBucketName());
+//                imagesVo.setDownloadUrl(MinioUtils.getPresignedObjectUrl(bucketName,sysUploadFiles.getFileName()));
+//
+//            }
+//            imagesVo.setId(images.getId());
+//            imagesVo.setImageType(images.getImageType());
+//            imageVoList.add(imagesVo);
+//        }
+        List<InsuranceImageVo> imageVoList = new ArrayList<>();
         for (InsTaskImages images : imagesList) {
-            ImagesVo imagesVo = new ImagesVo();
+            InsuranceImageVo imagesVo = new InsuranceImageVo();
             SysUploadFiles sysUploadFiles = sysUploadFilesMapper.selectById(images.getImageId());
-            if (!Objects.isNull(sysUploadFiles)){
-                imagesVo.setImageId(sysUploadFiles.getId());
-                imagesVo.setFileName(sysUploadFiles.getFileName());
-                imagesVo.setFileType(sysUploadFiles.getFileType());
-                imagesVo.setBucketName(sysUploadFiles.getBucketName());
-                imagesVo.setDownloadUrl(MinioUtils.getPresignedObjectUrl(bucketName,sysUploadFiles.getFileName()));
+            if (!Objects.isNull(sysUploadFiles)) {
+//                imagesVo.setImageId(sysUploadFiles.getId());
+                imagesVo.setImageCode(images.getImageType());
+                InsuranceImageVo.ImageDTO dto = new InsuranceImageVo.ImageDTO();
+                dto.setImageId(sysUploadFiles.getId());
+                List<InsuranceImageVo.ImageDTO> imageDtos = new ArrayList<>();
+                imageDtos.add(dto);
+                imagesVo.setImageBase64List(imageDtos);
             }
-            imagesVo.setId(images.getId());
-            imagesVo.setImageType(images.getImageType());
             imageVoList.add(imagesVo);
         }
+
         resultVo.setImageVoList(imageVoList);
         // 支付码
         List<InsOrdersQrcode> qrcodes = insOrdersQrcodeMapper.selectList(new LambdaQueryWrapper<InsOrdersQrcode>()