Browse Source

添加保司排序

785834757 9 tháng trước cách đây
mục cha
commit
8398286858

+ 27 - 0
commons/src/main/java/com/jzg/commons/entity/po/EsmInsCompanyTenantSort.java

@@ -0,0 +1,27 @@
+package com.jzg.commons.entity.po;
+
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jzg.commons.core.base.BaseModel;
+import lombok.Data;
+
+
+@TableName(value = "esm_ins_company_tenant_sort")
+@Data
+public class EsmInsCompanyTenantSort extends BaseModel {
+
+    @TableId(type = IdType.ASSIGN_ID)
+    private String id;
+
+    private String companyId;
+
+    private int orderNum;
+
+    private String systemCode;
+
+}
+
+
+

+ 21 - 4
platform/src/main/java/com/jzg/controller/EsmInsCompanyController.java

@@ -55,6 +55,12 @@ public class EsmInsCompanyController extends BaseController {
     @Autowired
     private SysUploadFilesMapper sysUploadFilesMapper;
 
+    @Autowired
+    private SysSystemService sysSystemService;
+
+    @Autowired
+    private BaseController baseController;
+
     @Value("${minio.bucket-name}")
     private String bucketName;
 
@@ -304,10 +310,6 @@ public class EsmInsCompanyController extends BaseController {
 //
 //    }
 
-
-    @Autowired
-    SysSystemService sysSystemService;
-
     @Operation(summary = "获取顶级保险公司列表")
     @GetMapping(value = "/gainTopList")
     public HttpResult<List<EsmInsCompanyResVo>> gainTopList(@RequestParam String type,@RequestParam(required = false) String systemCode) {
@@ -417,4 +419,19 @@ public class EsmInsCompanyController extends BaseController {
         List<EsmInsCompany> esmInsCompanyList = esmInsCompanyService.getCompanyByIds(companyList);
         return HttpResult.ok(esmInsCompanyList);
     }
+
+    @Operation(summary = "获取保司排序信息")
+    @GetMapping(value = "getCompanySort")
+    public HttpResult<List<EsmInsCompany>> getCompanySort(){
+        List<EsmInsCompany> companyByIds = esmInsCompanyService.getCompanySort(baseController.getUserSystemCode());
+        return HttpResult.ok(companyByIds);
+    }
+
+    @Operation(summary = "更新保司排序信息")
+    @PostMapping(value = "updateCompanySort")
+    public HttpResult<String> updateCompanySort(@RequestBody List<EsmInsCompany> esmInsCompanyList){
+        boolean result = esmInsCompanyService.updateCompanySort(esmInsCompanyList,baseController.getUserSystemCode());
+        return result ?  HttpResult.ok("更新保司排序成功") : HttpResult.error("更新保司排序失败");
+    }
+
 }

+ 10 - 0
platform/src/main/java/com/jzg/mapper/EsmInsCompanyTenantSortMapper.java

@@ -0,0 +1,10 @@
+package com.jzg.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jzg.commons.entity.po.EsmInsCompanyTenantSort;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface EsmInsCompanyTenantSortMapper extends BaseMapper<EsmInsCompanyTenantSort> {
+
+}

+ 14 - 0
platform/src/main/java/com/jzg/service/EsmInsCompanyService.java

@@ -115,6 +115,20 @@ public interface EsmInsCompanyService extends IService<EsmInsCompany> {
     List<EsmInsCompany> getAllBaseList();
     
     List<EsmInsCompany> getCompanyByIds(List<String> ids);
+
+    /**
+     * 获取保司排序
+     * @param systemCode
+     * @return
+     */
+    List<EsmInsCompany> getCompanySort(String systemCode);
+
+    /**
+     * 更新保司排序
+     * @param systemCode
+     * @return
+     */
+    boolean updateCompanySort(List<EsmInsCompany> companyList, String systemCode);
 }
 
 

+ 58 - 7
platform/src/main/java/com/jzg/service/impl/EsmInsCompanyServiceImpl.java

@@ -6,8 +6,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
 import com.jzg.commons.annotation.IgnoreTenant;
 import com.jzg.commons.entity.po.EsmInsCompany;
+import com.jzg.commons.entity.po.EsmInsCompanyTenantSort;
 import com.jzg.commons.entity.po.SysUploadFiles;
-import com.jzg.commons.entity.system.po.SysSystemBusPerms;
 import com.jzg.commons.entity.system.vo.SysSystemBusPermsVo;
 import com.jzg.commons.entity.vo.EsmInsCompanyReq;
 import com.jzg.commons.entity.vo.EsmInsCompanyResVo;
@@ -15,20 +15,19 @@ import com.jzg.commons.entity.vo.EsmInsCompanyVo;
 import com.jzg.commons.util.AssertionUtils;
 import com.jzg.commons.util.MinioUtils;
 import com.jzg.commons.util.StringUtils;
+import com.jzg.commons.util.idgen.IdGenerate;
 import com.jzg.mapper.EsmInsCompanyMapper;
-import com.jzg.mapper.SysSystemBusPermsMapper;
+import com.jzg.mapper.EsmInsCompanyTenantSortMapper;
 import com.jzg.service.EsmInsCompanyService;
 import com.jzg.service.SysSystemService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
-import org.springframework.util.ObjectUtils;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
-import java.util.Optional;
+import java.util.*;
 import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
 
 
@@ -52,6 +51,9 @@ public class EsmInsCompanyServiceImpl extends ServiceImpl<EsmInsCompanyMapper, E
     @Autowired
     SysSystemService sysSystemService;
 
+    @Autowired
+    EsmInsCompanyTenantSortMapper esmInsCompanyTenantSortMapper;
+
     @Override
     public List<EsmInsCompanyVo> findTree(EsmInsCompanyReq req) {
         List<EsmInsCompanyVo> allList  = baseMapper.findTree(req);
@@ -283,6 +285,55 @@ public class EsmInsCompanyServiceImpl extends ServiceImpl<EsmInsCompanyMapper, E
         List<EsmInsCompany> esmInsCompanies = baseMapper.selectList(new LambdaQueryWrapper<EsmInsCompany>().in(EsmInsCompany::getId,ids));
         return esmInsCompanies;
     }
+
+    /**
+     * 获取保司排序
+     * @param systemCode
+     * @return
+     */
+    @Override
+    public List<EsmInsCompany> getCompanySort(String systemCode) {
+        List<EsmInsCompany> esmInsCompanies = sysSystemService.getUserCompany(systemCode);
+        List<EsmInsCompanyTenantSort> esmInsCompanyTenantSorts = esmInsCompanyTenantSortMapper.selectList(new LambdaQueryWrapper<>());
+        Map<String, Integer> sortMap = esmInsCompanyTenantSorts.stream()
+                .collect(Collectors.toMap(EsmInsCompanyTenantSort::getCompanyId, EsmInsCompanyTenantSort::getOrderNum));
+
+        esmInsCompanies.sort((c1, c2) -> {
+            Integer order1 = sortMap.get(c1.getId());
+            Integer order2 = sortMap.get(c2.getId());
+            if (order1 != null && order2 != null) {
+                return order1.compareTo(order2);
+            } else if (order1 != null) {
+                return -1;
+            } else if (order2 != null) {
+                return 1;
+            } else {
+                return 0;
+            }
+        });
+
+        return esmInsCompanies;
+    }
+
+    @Override
+    @Transactional
+    public boolean updateCompanySort(List<EsmInsCompany> companyList, String systemCode) {
+        esmInsCompanyTenantSortMapper.delete(new LambdaQueryWrapper<EsmInsCompanyTenantSort>()
+                .eq(EsmInsCompanyTenantSort::getSystemCode, systemCode));
+
+        List<EsmInsCompanyTenantSort> companyTenantSorts = new ArrayList<>();
+        AtomicInteger orderNum = new AtomicInteger(1);
+        companyList.forEach(item->{
+            EsmInsCompanyTenantSort tenantSort = new EsmInsCompanyTenantSort();
+            tenantSort.setId(IdGenerate.nextId());
+            tenantSort.setCompanyId(item.getId());
+            tenantSort.setOrderNum(orderNum.get());
+            orderNum.getAndIncrement();
+            companyTenantSorts.add(tenantSort);
+        });
+        esmInsCompanyTenantSortMapper.insert(companyTenantSorts);
+        return true;
+    }
 }
 
 

+ 1 - 1
tenant/organization/src/main/java/com/jzg/organization/client/EsmInsCompanyClient.java

@@ -11,7 +11,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 
 import java.util.List;
 
-@FeignClient(name="jzg-platform",url = "http://localhost:8001/")
+@FeignClient(name="jzg-platform",url = "${feign.client.jzg-platform.url}")
 public interface EsmInsCompanyClient {