Ver Fonte

新增物流企业查询接口

chenxiaofei há 2 meses atrás
pai
commit
244d44acac

+ 10 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsEnterpriseController.java

@@ -380,6 +380,16 @@ public class KwsEnterpriseController {
     public BaseResult<EntInfoResp> queryKwsEnterprise(@RequestBody EntInfoReq req) {
         return BaseResult.success(kwsEntService.queryKwsEnterprise(req));
     }
+
+    /**
+     * 按页面类型查询企业列表
+     */
+    @PostMapping("/queryEnterpriseByPageType")
+    @Operation(summary = "按企业类型查询企业列表")
+    public BaseResult<List<EntInfo>> queryEnterpriseByPageType(@Valid @RequestBody EnterprisePageQueryReqVo req) {
+        return BaseResult.success(kwsEntService.queryEnterpriseByPageType(req));
+    }
+
     /**
      * 查询企业信息
      * @param entName

+ 24 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/EnterprisePageQueryReqVo.java

@@ -0,0 +1,24 @@
+package com.sckw.system.model.vo.req;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 按页面类型查询企业列表请求。
+ */
+@Data
+public class EnterprisePageQueryReqVo implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 5625981857792796638L;
+
+    @NotBlank(message = "企业类型不能为空")
+    @Schema(description = "企业类型(1供应商,2采购商,3物流属性)")
+    private Integer enterpriseType;
+
+    @Schema(description = "企业名称,支持模糊查询")
+    private String entName;
+}

+ 7 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/repository/KwsEntTypeRepository.java

@@ -33,6 +33,13 @@ public class KwsEntTypeRepository extends ServiceImpl<KwsEntTypeDao, KwsEntType>
                 .in(KwsEntType::getType, entTypes));
     }
 
+
+    public List<KwsEntType> queryByType(Integer entType) {
+        return list(Wrappers.<KwsEntType>lambdaQuery()
+                .eq(BaseModel::getDelFlag,0)
+                .eq(BaseModel::getStatus,0)
+                .eq(KwsEntType::getType, entType));
+    }
     public KwsEntType queryByEntId(String entId) {
         return getOne(Wrappers.<KwsEntType>lambdaQuery().eq(BaseModel::getDelFlag,0)
                 .eq(KwsEntType::getEntId, entId)

+ 32 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsEnterpriseService.java

@@ -1682,6 +1682,38 @@ public class KwsEnterpriseService {
 
     }
 
+    public List<EntInfo> queryEnterpriseByPageType(EnterprisePageQueryReqVo req) {
+        log.info("查询企业信息请求参数:{}", JSON.toJSONString(req));
+
+        List<KwsEntType> entTypes = kwsEntTypeRepository.queryByType(req.getEnterpriseType());
+        if (CollectionUtils.isEmpty(entTypes)) {
+            return Collections.emptyList();
+        }
+
+        Set<Long> entIds = entTypes.stream().map(KwsEntType::getEntId).collect(Collectors.toSet());
+        if (CollectionUtils.isEmpty(entIds)) {
+            return Collections.emptyList();
+        }
+
+        List<KwsEnterprise> enterprises = kwsEnterpriseRepository.list(Wrappers.<KwsEnterprise>lambdaQuery()
+                .eq(BaseModel::getDelFlag, Global.UN_DELETED)
+                .eq(BaseModel::getStatus, Global.NO)
+                .eq(KwsEnterprise::getApproval, ApprovalEnum.OK.getCode())
+                .in(KwsEnterprise::getId, entIds)
+                .like(StringUtils.isNotBlank(req.getEntName()), KwsEnterprise::getFirmName, req.getEntName())
+                .orderByAsc(KwsEnterprise::getFirmName));
+        if (CollectionUtils.isEmpty(enterprises)) {
+            return Collections.emptyList();
+        }
+
+        return enterprises.stream().map(item -> {
+            EntInfo info = new EntInfo();
+            info.setEntId(String.valueOf(item.getId()));
+            info.setEntName(item.getFirmName());
+            return info;
+        }).collect(Collectors.toList());
+    }
+
     public EntInfo queryEnt(String entName) {
         return kwsEnterpriseDao.query(entName);
     }