Browse Source

1、查询可用于选择的客户信息列表

dongpo 7 months ago
parent
commit
aa91793bf3
11 changed files with 163 additions and 39 deletions
  1. 23 0
      yudao-module-customer/yudao-module-customer-api/src/main/java/cn/iocoder/yudao/module/customer/api/info/CustomerInfoApi.java
  2. 21 0
      yudao-module-customer/yudao-module-customer-api/src/main/java/cn/iocoder/yudao/module/customer/api/info/dto/CustomerInfoDTO.java
  3. 1 1
      yudao-module-customer/yudao-module-customer-api/src/main/java/cn/iocoder/yudao/module/employee/enums/ErrorCodeConstants.java
  4. 0 11
      yudao-module-customer/yudao-module-customer-api/src/main/java/cn/iocoder/yudao/module/employee/api/CustomerApi.java
  5. 0 14
      yudao-module-customer/yudao-module-customer-biz/src/main/java/cn/iocoder/yudao/module/customer/api/info/CustomerApiImpl.java
  6. 34 0
      yudao-module-customer/yudao-module-customer-biz/src/main/java/cn/iocoder/yudao/module/customer/api/info/CustomerInfoApiImpl.java
  7. 9 0
      yudao-module-customer/yudao-module-customer-biz/src/main/java/cn/iocoder/yudao/module/customer/controller/admin/info/CustomerInfoController.java
  8. 37 0
      yudao-module-customer/yudao-module-customer-biz/src/main/java/cn/iocoder/yudao/module/customer/controller/admin/info/vo/CustomerInfoListRespVO.java
  9. 1 3
      yudao-module-customer/yudao-module-customer-biz/src/main/java/cn/iocoder/yudao/module/customer/service/businessopportunity/CustomerBusinessOpportunityServiceImpl.java
  10. 23 4
      yudao-module-customer/yudao-module-customer-biz/src/main/java/cn/iocoder/yudao/module/customer/service/info/CustomerInfoService.java
  11. 14 6
      yudao-module-customer/yudao-module-customer-biz/src/main/java/cn/iocoder/yudao/module/customer/service/info/CustomerInfoServiceImpl.java

+ 23 - 0
yudao-module-customer/yudao-module-customer-api/src/main/java/cn/iocoder/yudao/module/customer/api/info/CustomerInfoApi.java

@@ -0,0 +1,23 @@
+package cn.iocoder.yudao.module.customer.api.info;
+
+
+import cn.iocoder.yudao.module.customer.api.info.dto.CustomerInfoDTO;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 客户 API 接口
+ *
+ * @author zhaopq
+ */
+public interface CustomerInfoApi {
+
+    /**
+     * 获得客户信息列表,包括开启的和关闭的
+     *
+     * @param ids 客户信息id集合
+     * @return 客户信息列表
+     */
+    List<CustomerInfoDTO> getCustomerInfoList(Collection<Long> ids);
+}

+ 21 - 0
yudao-module-customer/yudao-module-customer-api/src/main/java/cn/iocoder/yudao/module/customer/api/info/dto/CustomerInfoDTO.java

@@ -0,0 +1,21 @@
+package cn.iocoder.yudao.module.customer.api.info.dto;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class CustomerInfoDTO {
+    /**
+     * 自增主键
+     */
+    private Long id;
+    /**
+     * 客户编码
+     */
+    private String customerCode;
+    /**
+     * 客户名称
+     */
+    private String customerName;
+}

+ 1 - 1
yudao-module-customer/yudao-module-customer-api/src/main/java/cn/iocoder/yudao/module/employee/enums/ErrorCodeConstants.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.employee.enums;
+package cn.iocoder.yudao.module.customer.enums;
 
 import cn.iocoder.yudao.framework.common.exception.ErrorCode;
 

+ 0 - 11
yudao-module-customer/yudao-module-customer-api/src/main/java/cn/iocoder/yudao/module/employee/api/CustomerApi.java

@@ -1,11 +0,0 @@
-package cn.iocoder.yudao.module.employee.api;
-
-
-/**
- * 客户 API 接口
- *
- * @author zhaopq
- */
-public interface CustomerApi {
-
-}

+ 0 - 14
yudao-module-customer/yudao-module-customer-biz/src/main/java/cn/iocoder/yudao/module/customer/api/info/CustomerApiImpl.java

@@ -1,14 +0,0 @@
-package cn.iocoder.yudao.module.customer.api.info;
-
-import cn.iocoder.yudao.module.employee.api.CustomerApi;
-import org.springframework.stereotype.Service;
-
-/**
- * 客户 API 实现类
- *
- * @author zhaopq
- */
-@Service
-public class CustomerApiImpl implements CustomerApi {
-
-}

+ 34 - 0
yudao-module-customer/yudao-module-customer-biz/src/main/java/cn/iocoder/yudao/module/customer/api/info/CustomerInfoApiImpl.java

@@ -0,0 +1,34 @@
+package cn.iocoder.yudao.module.customer.api.info;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.module.customer.api.info.dto.CustomerInfoDTO;
+import cn.iocoder.yudao.module.customer.dal.dataobject.info.CustomerInfoDO;
+import cn.iocoder.yudao.module.customer.service.info.CustomerInfoService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * 客户 API 实现类
+ *
+ * @author zhaopq
+ */
+@Service
+public class CustomerInfoApiImpl implements CustomerInfoApi {
+
+    @Resource
+    private CustomerInfoService customerInfoService;
+
+    @Override
+    public List<CustomerInfoDTO> getCustomerInfoList(Collection<Long> ids) {
+        if (CollUtil.isEmpty(ids)) {
+            return Collections.emptyList();
+        }
+        List<CustomerInfoDO> customerInfoDOList = customerInfoService.getCustomerInfoList(ids);
+        return BeanUtils.toBean(customerInfoDOList, CustomerInfoDTO.class);
+    }
+}

+ 9 - 0
yudao-module-customer/yudao-module-customer-biz/src/main/java/cn/iocoder/yudao/module/customer/controller/admin/info/CustomerInfoController.java

@@ -146,4 +146,13 @@ public class CustomerInfoController {
         return success(result);
     }
 
+    @GetMapping("/listForSelect")
+    @Operation(summary = "获得客户信息列表,用于其他模块选择或查询客户")
+    @Parameter(name = "isOpen", description = "是否开启:0开启1关闭,不传参数时查询所有", required = false)
+    // @PreAuthorize("@ss.hasPermission('customer:info:query')")
+    public CommonResult<List<CustomerInfoListRespVO>> getInfoListForSelect(@RequestParam(value = "isOpen", required = false) Integer isOpen) {
+        List<CustomerInfoDO> customerInfoDOListForSelect = infoService.getCustomerInfoListForSelect(isOpen);
+        return success(BeanUtils.toBean(customerInfoDOListForSelect, CustomerInfoListRespVO.class));
+    }
+
 }

+ 37 - 0
yudao-module-customer/yudao-module-customer-biz/src/main/java/cn/iocoder/yudao/module/customer/controller/admin/info/vo/CustomerInfoListRespVO.java

@@ -0,0 +1,37 @@
+package cn.iocoder.yudao.module.customer.controller.admin.info.vo;
+
+import cn.iocoder.yudao.module.infra.api.file.dto.FileDTO;
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Schema(description = "客户列表信息 Response VO")
+@Data
+public class CustomerInfoListRespVO {
+
+    /**
+     * 主键id
+     */
+    private Long id;
+
+    /**
+     * 客户编码
+     */
+    private String customerCode;
+
+    /**
+     * 客户名称
+     */
+    private String customerName;
+
+    /**
+     * 是否开启 0开启1关闭
+     */
+    private Integer isOpen;
+
+}

+ 1 - 3
yudao-module-customer/yudao-module-customer-biz/src/main/java/cn/iocoder/yudao/module/customer/service/businessopportunity/CustomerBusinessOpportunityServiceImpl.java

@@ -16,7 +16,6 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
@@ -24,13 +23,12 @@ import java.util.*;
 import cn.iocoder.yudao.module.customer.controller.admin.businessopportunity.vo.*;
 import cn.iocoder.yudao.module.customer.dal.dataobject.businessopportunity.CustomerBusinessOpportunityDO;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.common.pojo.PageParam;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 
 import cn.iocoder.yudao.module.customer.dal.mysql.businessopportunity.CustomerBusinessOpportunityMapper;
 
 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
-import static cn.iocoder.yudao.module.employee.enums.ErrorCodeConstants.CUSTOMER_BUSINESS_OPPORTUNITY_NOT_EXISTS;
+import static cn.iocoder.yudao.module.customer.enums.ErrorCodeConstants.CUSTOMER_BUSINESS_OPPORTUNITY_NOT_EXISTS;
 
 /**
  * 客户商机 Service 实现类

+ 23 - 4
yudao-module-customer/yudao-module-customer-biz/src/main/java/cn/iocoder/yudao/module/customer/service/info/CustomerInfoService.java

@@ -1,10 +1,14 @@
 package cn.iocoder.yudao.module.customer.service.info;
 
-import javax.validation.*;
-
-import cn.iocoder.yudao.module.customer.controller.admin.info.vo.*;
-import cn.iocoder.yudao.module.customer.dal.dataobject.info.CustomerInfoDO;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.module.customer.controller.admin.info.vo.CustomerInfoPageReqVO;
+import cn.iocoder.yudao.module.customer.controller.admin.info.vo.CustomerInfoRespVO;
+import cn.iocoder.yudao.module.customer.controller.admin.info.vo.CustomerInfoSaveReqVO;
+import cn.iocoder.yudao.module.customer.dal.dataobject.info.CustomerInfoDO;
+
+import javax.validation.Valid;
+import java.util.Collection;
+import java.util.List;
 
 /**
  * 客户信息 Service 接口
@@ -75,4 +79,19 @@ public interface CustomerInfoService {
      */
     void updateOpenStatus(Long id, Integer status);
 
+    /**
+     * 根据id集合获得客户信息列表,,包括开启的和关闭的
+     *
+     * @param ids 客户信息id集合
+     * @return 客户信息列表
+     */
+    List<CustomerInfoDO> getCustomerInfoList(Collection<Long> ids);
+
+    /**
+     * 获得客户信息列表,用于其他模块
+     *
+     * @param isOpen 是否开启 0开启 1关闭
+     * @return 客户信息列表
+     */
+    List<CustomerInfoDO> getCustomerInfoListForSelect(Integer isOpen);
 }

+ 14 - 6
yudao-module-customer/yudao-module-customer-biz/src/main/java/cn/iocoder/yudao/module/customer/service/info/CustomerInfoServiceImpl.java

@@ -4,19 +4,17 @@ import cn.hutool.core.util.IdUtil;
 import cn.iocoder.yudao.framework.security.core.LoginUser;
 import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
 import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
-import cn.iocoder.yudao.module.customer.controller.admin.businessopportunity.vo.CustomerBusinessOpportunityRespVO;
-import cn.iocoder.yudao.module.customer.dal.dataobject.businessopportunity.CustomerBusinessOpportunityDO;
 import cn.iocoder.yudao.module.employee.api.EmployeeApi;
 import cn.iocoder.yudao.module.employee.api.dto.EmployeeRespDTO;
 import cn.iocoder.yudao.module.infra.api.file.FileApi;
 import cn.iocoder.yudao.module.infra.api.file.dto.FileDTO;
 import cn.iocoder.yudao.module.system.api.dept.DeptApi;
 import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
@@ -24,14 +22,12 @@ import java.util.*;
 import cn.iocoder.yudao.module.customer.controller.admin.info.vo.*;
 import cn.iocoder.yudao.module.customer.dal.dataobject.info.CustomerInfoDO;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.common.pojo.PageParam;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 
 import cn.iocoder.yudao.module.customer.dal.mysql.info.CustomerInfoMapper;
 
 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
-import static cn.iocoder.yudao.module.employee.enums.ErrorCodeConstants.CUSTOMER_BUSINESS_OPPORTUNITY_NOT_EXISTS;
-import static cn.iocoder.yudao.module.employee.enums.ErrorCodeConstants.CUSTOMER_INFO_NOT_EXISTS;
+import static cn.iocoder.yudao.module.customer.enums.ErrorCodeConstants.CUSTOMER_INFO_NOT_EXISTS;
 
 /**
  * 客户信息 Service 实现类
@@ -180,4 +176,16 @@ public class CustomerInfoServiceImpl implements CustomerInfoService {
         infoMapper.updateById(updateObj);
     }
 
+    @Override
+    public List<CustomerInfoDO> getCustomerInfoList(Collection<Long> ids) {
+        return infoMapper.selectBatchIds(ids);
+    }
+
+    @Override
+    public List<CustomerInfoDO> getCustomerInfoListForSelect(Integer isOpen) {
+        LambdaQueryWrapper<CustomerInfoDO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.eq(isOpen != null, CustomerInfoDO::getIsOpen, isOpen);
+        return infoMapper.selectList(lambdaQueryWrapper);
+    }
+
 }