Browse Source

客户商机

zhaopeiqing 7 months ago
parent
commit
c6ff0f15a3

+ 8 - 0
yudao-module-customer/yudao-module-customer-biz/src/main/java/cn/iocoder/yudao/module/customer/controller/admin/businessopportunity/CustomerBusinessOpportunityController.java

@@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.customer.controller.admin.businessopportunity;
 
 import cn.iocoder.yudao.module.system.api.dept.DeptApi;
 import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.web.bind.annotation.*;
 import javax.annotation.Resource;
@@ -109,4 +110,11 @@ public class CustomerBusinessOpportunityController {
                         BeanUtils.toBean(list, CustomerBusinessOpportunityRespVO.class));
     }
 
+    @GetMapping("/getOpportunityCode")
+    @Operation(summary = "获取客户商机编号")
+    @ApiOperationSupport(order = 1)
+    public CommonResult<String> getOpportunityCode() {
+        return success(businessOpportunityService.getOpportunityCode());
+    }
+
 }

+ 3 - 0
yudao-module-customer/yudao-module-customer-biz/src/main/java/cn/iocoder/yudao/module/customer/controller/admin/businessopportunity/vo/CustomerBusinessOpportunityPageReqVO.java

@@ -21,6 +21,9 @@ public class CustomerBusinessOpportunityPageReqVO extends PageParam {
     @Schema(description = "商机uuid", example = "28138")
     private String opportunityId;
 
+    @Schema(description = "商机编码")
+    private String opportunityCode;
+
     @Schema(description = "客户id", example = "2835")
     private Long customerId;
 

+ 4 - 0
yudao-module-customer/yudao-module-customer-biz/src/main/java/cn/iocoder/yudao/module/customer/controller/admin/businessopportunity/vo/CustomerBusinessOpportunityRespVO.java

@@ -25,6 +25,10 @@ public class CustomerBusinessOpportunityRespVO {
     @ExcelProperty("商机uuid")
     private String opportunityId;
 
+    @Schema(description = "商机编码")
+    @ExcelProperty("商机编码")
+    private String opportunityCode;
+
     @Schema(description = "客户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "2835")
     @ExcelProperty("客户id")
     private Long customerId;

+ 3 - 0
yudao-module-customer/yudao-module-customer-biz/src/main/java/cn/iocoder/yudao/module/customer/controller/admin/businessopportunity/vo/CustomerBusinessOpportunitySaveReqVO.java

@@ -18,6 +18,9 @@ public class CustomerBusinessOpportunitySaveReqVO {
     @Schema(description = "商机uuid", example = "28138")
     private String opportunityId;
 
+    @Schema(description = "商机编码", example = "28138")
+    private String opportunityCode;
+
     @Schema(description = "客户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "2835")
     @NotNull(message = "客户id不能为空")
     private Long customerId;

+ 4 - 0
yudao-module-customer/yudao-module-customer-biz/src/main/java/cn/iocoder/yudao/module/customer/dal/dataobject/businessopportunity/CustomerBusinessOpportunityDO.java

@@ -33,6 +33,10 @@ public class CustomerBusinessOpportunityDO extends BaseDO {
      * 商机uuid
      */
     private String opportunityId;
+    /**
+     * 商机编码
+     */
+    private String opportunityCode;
     /**
      * 客户id
      */

+ 1 - 0
yudao-module-customer/yudao-module-customer-biz/src/main/java/cn/iocoder/yudao/module/customer/dal/mysql/businessopportunity/CustomerBusinessOpportunityMapper.java

@@ -21,6 +21,7 @@ public interface CustomerBusinessOpportunityMapper extends BaseMapperX<CustomerB
         return selectPage(reqVO, new LambdaQueryWrapperX<CustomerBusinessOpportunityDO>()
                 .eqIfPresent(CustomerBusinessOpportunityDO::getOpportunityId, reqVO.getOpportunityId())
                 .eqIfPresent(CustomerBusinessOpportunityDO::getCustomerId, reqVO.getCustomerId())
+                .eqIfPresent(CustomerBusinessOpportunityDO::getOpportunityCode, reqVO.getOpportunityCode())
                 .likeIfPresent(CustomerBusinessOpportunityDO::getOpportunityName, reqVO.getOpportunityName())
                 .eqIfPresent(CustomerBusinessOpportunityDO::getProjectType, reqVO.getProjectType())
                 .eqIfPresent(CustomerBusinessOpportunityDO::getCreatorEmployeeId, reqVO.getCreatorEmployeeId())

+ 8 - 0
yudao-module-customer/yudao-module-customer-biz/src/main/java/cn/iocoder/yudao/module/customer/service/businessopportunity/CustomerBusinessOpportunityService.java

@@ -60,4 +60,12 @@ public interface CustomerBusinessOpportunityService {
      */
     PageResult<CustomerBusinessOpportunityDO> getBusinessOpportunityPage(CustomerBusinessOpportunityPageReqVO pageReqVO);
 
+    /**
+     * 获取客户商机编号
+     * 客户商机编号是标识客户商机的唯一代码
+     *
+     * @return 客户商机编号
+     */
+    String getOpportunityCode();
+
 }

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

@@ -16,6 +16,8 @@ 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;
 import java.util.*;
 import cn.iocoder.yudao.module.customer.controller.admin.businessopportunity.vo.*;
 import cn.iocoder.yudao.module.customer.dal.dataobject.businessopportunity.CustomerBusinessOpportunityDO;
@@ -155,4 +157,11 @@ public class CustomerBusinessOpportunityServiceImpl implements CustomerBusinessO
         return businessOpportunityMapper.selectPage(pageReqVO);
     }
 
+    @Override
+    public String getOpportunityCode() {
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
+        String format = formatter.format(LocalDateTime.now());
+        return format + IdUtil.fastSimpleUUID();
+    }
+
 }