Explorar el Código

Merge remote-tracking branch 'origin/dev_20251130' into dev_20251130

sckw-developer hace 2 meses
padre
commit
ad87fb8b91

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

@@ -1,11 +1,11 @@
 package com.sckw.system.controller;
 
 import com.sckw.core.web.constant.HttpStatus;
-import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.core.web.response.BaseResult;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.system.model.KwsEnterprise;
 import com.sckw.system.model.vo.req.*;
+import com.sckw.system.model.vo.res.EntFindInfoResp;
 import com.sckw.system.model.vo.res.EntInfoResp;
 import com.sckw.system.model.vo.res.KwsUserSystemTypeVo;
 import com.sckw.system.service.KwsEnterpriseService;
@@ -343,4 +343,13 @@ public class KwsEnterpriseController {
         return BaseResult.success(kwsEntService.queryEntInfo(req));
     }
 
+    /**
+     * 查询供应商企业或采购企业
+     */
+    @PostMapping("/queryEntInfo")
+    public BaseResult<List<EntFindInfoResp>> querySupOrProEnt(@RequestBody EntFindInfoRequest request) {
+        List<EntFindInfoResp> entFindInfoRespList = kwsEntService.querySupOrProEnt(request);
+        return BaseResult.success();
+    }
+
 }

+ 25 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/EntFindInfoRequest.java

@@ -0,0 +1,25 @@
+package com.sckw.system.model.vo.req;
+
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author :chenXiaoFei
+ * @version :1.0
+ * @description : 查询企业信息
+ * @create :2025-11-04 13:43:00
+ */
+@Data
+public class EntFindInfoRequest implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 7086846167295941090L;
+
+    /**
+     * 企业类别 (1-供应商,2-采购商)
+     */
+    @NotNull(message = "企业类别不能为空!")
+    private int entType;
+}

+ 47 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/res/EntFindInfoResp.java

@@ -0,0 +1,47 @@
+package com.sckw.system.model.vo.res;
+
+
+import com.sckw.system.api.model.dto.res.EntCacheResDto;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * Author: donglang
+ * Time: 2025-11-05
+ * Des: 企业下拉信息
+ * Version: 1.0
+ */
+
+@Data
+public class EntFindInfoResp {
+
+    /**
+     * 企业id
+     */
+    @Schema(description = "企业id")
+    private Long entId;
+
+    /**
+     * 企业名称
+     */
+    @Schema(description = "企业名称")
+    private String entName;
+
+
+    private static EntFindInfoResp getInstance() {
+        return new EntFindInfoResp();
+    }
+
+
+    public static EntFindInfoResp toPageResp(EntCacheResDto dto) {
+        if (dto == null) {
+            return new EntFindInfoResp();
+        }
+        EntFindInfoResp excelVO = EntFindInfoResp.getInstance();
+        excelVO.setEntId(dto.getId());
+        excelVO.setEntName(dto.getFirmName());
+
+        return excelVO;
+    }
+
+}

+ 60 - 2
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsEnterpriseService.java

@@ -2,6 +2,7 @@ package com.sckw.system.service;
 
 import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.sckw.core.exception.BusinessException;
@@ -14,7 +15,6 @@ import com.sckw.core.model.page.PageHelperUtil;
 import com.sckw.core.model.page.PageResult;
 import com.sckw.core.utils.*;
 import com.sckw.core.web.constant.HttpStatus;
-import com.sckw.core.web.context.LoginEntHolder;
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.core.web.model.EntCertificateInfo;
 import com.sckw.core.web.response.HttpResult;
@@ -25,6 +25,7 @@ import com.sckw.stream.model.UserInfo;
 import com.sckw.system.api.RemoteUserService;
 import com.sckw.system.api.model.dto.req.RegisterReqDto;
 import com.sckw.system.api.model.dto.res.EntCacheResDto;
+import com.sckw.system.api.model.dto.res.KwsEntDeptDto;
 import com.sckw.system.api.model.dto.res.RegisterResDto;
 import com.sckw.system.dao.*;
 import com.sckw.system.dubbo.RemoteSystemServiceImpl;
@@ -42,7 +43,6 @@ import com.sckw.system.repository.KwsEnterpriseRepository;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
 import lombok.RequiredArgsConstructor;
-import org.apache.commons.collections4.MapUtils;
 import org.jetbrains.annotations.NotNull;
 import org.redisson.api.RSet;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -1619,4 +1619,62 @@ public class KwsEnterpriseService {
         entInfoResp.setEntInfos(entInfos);
         return entInfoResp;
     }
+
+    /**
+     *
+     * @return
+     */
+    public List<EntFindInfoResp> querySupOrProEnt(EntFindInfoRequest request) {
+        List<EntCacheResDto>  entResDtoList = new ArrayList<>();
+        //查询当前登录企业
+        EntCacheResDto entCacheResDto = remoteSystemService.queryEntCacheById(LoginUserHolder.getEntId());
+        if (entCacheResDto == null) {
+            throw new RuntimeException("entId:" + LoginUserHolder.getEntId() + ", 企业信息不存在!");
+        }
+
+        int entType = Integer.parseInt(entCacheResDto.getEntTypes());
+        if (entType != EntTypeEnum.SUPPLIER.getCode()) {
+            throw new RuntimeException("entId:" + LoginUserHolder.getEntId() + ", 只有供应商企业可以创建钱包!");
+        }
+        //供应企业
+        if (EntTypeEnum.SUPPLIER.getCode() == request.getEntType()) {
+            entResDtoList.add(entCacheResDto);
+            //查询当前供应商的子级企业
+            List<KwsEntDeptDto> kwsEntDeptDtoList = remoteSystemService.queryEntDeptByPid(entCacheResDto.getParentId());
+            if (CollectionUtils.isEmpty(kwsEntDeptDtoList)){
+                return entResDtoList.stream().map(EntFindInfoResp::toPageResp).collect(Collectors.toList());
+            }
+            List<Long> parentId = kwsEntDeptDtoList.stream().map(KwsEntDeptDto::getEntId).collect(Collectors.toList());
+            List<EntCacheResDto> entDtoList = remoteSystemService.queryEntCacheByIds(parentId);
+            entResDtoList.addAll(entDtoList);
+        } else {
+            //查询采购商企业信息
+            List<EntCacheResDto> entDtoList = queryKwsEnterpriseById();
+            entResDtoList.addAll(entDtoList);
+        }
+
+        return entResDtoList.stream().map(EntFindInfoResp::toPageResp).collect(Collectors.toList());
+    }
+
+    /**
+
+     * @return KwsEnterprise
+     * @desc: 放开接口
+     * @author: czh
+     * @date: 2023/7/26
+     */
+    public List<EntCacheResDto> queryKwsEnterpriseById() {
+        //查询采购商企业信息
+        LambdaQueryWrapper<KwsEntType> queryWrapper = Wrappers.<KwsEntType>lambdaQuery()
+                .eq(KwsEntType::getType, 2)
+                .eq(KwsEntType::getDelFlag, 0);
+        List<KwsEntType> kwsEntTypes = kwsEntTypeDao.selectList(queryWrapper);
+        if (kwsEntTypes.isEmpty()) {
+            return new ArrayList<>();
+        }
+        List<Long> entId = kwsEntTypes.stream().map(KwsEntType::getEntId).distinct().collect(Collectors.toList());
+        return remoteSystemService.queryEntCacheByIds(entId);
+
+    }
+
 }