crm:code review 公海客户分析

This commit is contained in:
YunaiV 2024-04-07 21:27:40 +08:00
parent ee40b53016
commit c4ce9068f9
5 changed files with 6 additions and 10 deletions

View File

@ -250,10 +250,9 @@ public class LocalDateTimeUtils {
case DateIntervalEnum.QUARTER: case DateIntervalEnum.QUARTER:
while (startTime.isBefore(endTime)) { while (startTime.isBefore(endTime)) {
int quarterOfYear = getQuarterOfYear(startTime); int quarterOfYear = getQuarterOfYear(startTime);
LocalDateTime quarterEnd = LocalDateTime quarterEnd = quarterOfYear == 4
quarterOfYear == 4 ? startTime.with(TemporalAdjusters.lastDayOfYear()).plusDays(1).minusNanos(1)
? startTime.with(TemporalAdjusters.lastDayOfYear()).plusDays(1).minusNanos(1) : startTime.withMonth(quarterOfYear * 3 + 1).withDayOfMonth(1).minusNanos(1);
: startTime.withMonth(quarterOfYear * 3 + 1).withDayOfMonth(1).minusNanos(1);
timeRanges.add(new LocalDateTime[]{startTime, quarterEnd}); timeRanges.add(new LocalDateTime[]{startTime, quarterEnd});
startTime = quarterEnd.plusNanos(1); startTime = quarterEnd.plusNanos(1);
} }

View File

@ -9,7 +9,6 @@ GET {{baseUrl}}/crm/statistics-customer/get-customer-summary-by-user?deptId=100&
Authorization: Bearer {{token}} Authorization: Bearer {{token}}
tenant-id: {{adminTenentId}} tenant-id: {{adminTenentId}}
# == 2. 客户跟进次数分析 == # == 2. 客户跟进次数分析 ==
### 2.1 客户跟进次数分析(按日期) ### 2.1 客户跟进次数分析(按日期)
GET {{baseUrl}}/crm/statistics-customer/get-follow-up-summary-by-date?deptId=100&interval=2&times[0]=2024-01-01 00:00:00&times[1]=2024-01-29 23:59:59 GET {{baseUrl}}/crm/statistics-customer/get-follow-up-summary-by-date?deptId=100&interval=2&times[0]=2024-01-01 00:00:00&times[1]=2024-01-29 23:59:59
@ -21,14 +20,12 @@ GET {{baseUrl}}/crm/statistics-customer/get-follow-up-summary-by-user?deptId=100
Authorization: Bearer {{token}} Authorization: Bearer {{token}}
tenant-id: {{adminTenentId}} tenant-id: {{adminTenentId}}
# == 3. 客户跟进方式分析 == # == 3. 客户跟进方式分析 ==
### 3.1 客户跟进方式分析 ### 3.1 客户跟进方式分析
GET {{baseUrl}}/crm/statistics-customer/get-follow-up-summary-by-type?deptId=100&interval=2&times[0]=2023-01-01 00:00:00&times[1]=2024-12-12 23:59:59 GET {{baseUrl}}/crm/statistics-customer/get-follow-up-summary-by-type?deptId=100&interval=2&times[0]=2023-01-01 00:00:00&times[1]=2024-12-12 23:59:59
Authorization: Bearer {{token}} Authorization: Bearer {{token}}
tenant-id: {{adminTenentId}} tenant-id: {{adminTenentId}}
# == 4. 客户成交周期 == # == 4. 客户成交周期 ==
### 4.1 合同摘要信息(客户转化率页面) ### 4.1 合同摘要信息(客户转化率页面)
GET {{baseUrl}}/crm/statistics-customer/get-contract-summary?deptId=100&interval=2&times[0]=2023-01-01 00:00:00&times[1]=2024-12-12 23:59:59 GET {{baseUrl}}/crm/statistics-customer/get-contract-summary?deptId=100&interval=2&times[0]=2023-01-01 00:00:00&times[1]=2024-12-12 23:59:59

View File

@ -69,14 +69,14 @@ public class CrmStatisticsCustomerController {
} }
@GetMapping("/get-pool-summary-by-date") @GetMapping("/get-pool-summary-by-date")
@Operation(summary = "获取客户成交周期(按日期)") @Operation(summary = "获取公海客户分析(按日期)")
@PreAuthorize("@ss.hasPermission('crm:statistics-customer:query')") @PreAuthorize("@ss.hasPermission('crm:statistics-customer:query')")
public CommonResult<List<CrmStatisticsPoolSummaryByDateRespVO>> getPoolSummaryByDate(@Valid CrmStatisticsCustomerReqVO reqVO) { public CommonResult<List<CrmStatisticsPoolSummaryByDateRespVO>> getPoolSummaryByDate(@Valid CrmStatisticsCustomerReqVO reqVO) {
return success(customerService.getPoolSummaryByDate(reqVO)); return success(customerService.getPoolSummaryByDate(reqVO));
} }
@GetMapping("/get-pool-summary-by-user") @GetMapping("/get-pool-summary-by-user")
@Operation(summary = "获取客户成交周期(按用户)") @Operation(summary = "获取公海客户分析(按用户)")
@PreAuthorize("@ss.hasPermission('crm:statistics-customer:query')") @PreAuthorize("@ss.hasPermission('crm:statistics-customer:query')")
public CommonResult<List<CrmStatisticsPoolSummaryByUserRespVO>> getPoolSummaryByUser(@Valid CrmStatisticsCustomerReqVO reqVO) { public CommonResult<List<CrmStatisticsPoolSummaryByUserRespVO>> getPoolSummaryByUser(@Valid CrmStatisticsCustomerReqVO reqVO) {
return success(customerService.getPoolSummaryByUser(reqVO)); return success(customerService.getPoolSummaryByUser(reqVO));

View File

@ -138,7 +138,6 @@ public interface CrmStatisticsCustomerMapper {
return voList; return voList;
} }
/** /**
* 公海领取客户数(按日期) * 公海领取客户数(按日期)
* *

View File

@ -16,6 +16,7 @@
GROUP BY time GROUP BY time
</select> </select>
<!-- TODO 芋艿:应该不用过滤时间 -->
<select id="selectCustomerDealCountGroupByDate" <select id="selectCustomerDealCountGroupByDate"
resultType="cn.iocoder.yudao.module.crm.controller.admin.statistics.vo.customer.CrmStatisticsCustomerSummaryByDateRespVO"> resultType="cn.iocoder.yudao.module.crm.controller.admin.statistics.vo.customer.CrmStatisticsCustomerSummaryByDateRespVO">
SELECT DATE_FORMAT(customer.create_time, '%Y-%m-%d') AS time, SELECT DATE_FORMAT(customer.create_time, '%Y-%m-%d') AS time,