Prechádzať zdrojové kódy

修改电销数据统计问题

hxl13994548489 2 rokov pred
rodič
commit
fcb69bf925

+ 4 - 4
src/main/java/com/ydtech/modules/admin/controller/khgl/KhglDataController.java

@@ -127,7 +127,7 @@ public class KhglDataController {
     @PostMapping("/queryDxDataPage")
     @ApiOperation(value = "查询用户所有的数据分页")
     public HttpResult<BasePageResult<DxReportDataDto>> queryDxDataPage(@RequestBody DxQueryVo dxQueryVo){
-        HashMap<String, String> map = getDateMapByType(dxQueryVo.getType(), dxQueryVo.getBeginDate(), dxQueryVo.getEndDate());
+        HashMap<String, String> map = getDateMapByType(dxQueryVo.getType(), dxQueryVo.getBeginDate(), dxQueryVo.getEndDate(),"2");
         dxQueryVo.setBeginDate(map.get("startDate"));
         dxQueryVo.setEndDate(map.get("endDate"));
         return HttpResult.ok(dxDataService.queryPage(dxQueryVo));
@@ -148,7 +148,7 @@ public class KhglDataController {
         //if(StringUtils.isBlank(dxQueryVo.getBeginDate())  || StringUtils.isBlank(dxQueryVo.getEndDate())){
         //    return HttpResult.error("开始时间和结束时间不能为空!!!");
         //}
-        HashMap<String, String> map = getDateMapByType(dxQueryVo.getType(), dxQueryVo.getBeginDate(), dxQueryVo.getEndDate());
+        HashMap<String, String> map = getDateMapByType(dxQueryVo.getType(), dxQueryVo.getBeginDate(), dxQueryVo.getEndDate(),"1");
         dxQueryVo.setBeginDate(map.get("startDate"));
         dxQueryVo.setEndDate(map.get("endDate"));
         return HttpResult.ok(dxDataService.queryDxDataDayPage(dxQueryVo));
@@ -175,7 +175,7 @@ public class KhglDataController {
      *  @Date: 2024/6/19 11:57
      *  @Description:  通过时间类型判断
      */
-    private static HashMap<String,String> getDateMapByType(String type, String startDate, String endDate) {
+    private static HashMap<String,String> getDateMapByType(String type, String startDate, String endDate,String flag) {
         HashMap<String,String> map =new HashMap<>();
         String  startDateStr="";
         String  endDateStr="";
@@ -183,7 +183,7 @@ public class KhglDataController {
             startDateStr= org.apache.commons.lang3.StringUtils.isNotBlank(startDate)?startDate+" 00:00:00":null;
             endDateStr= org.apache.commons.lang3.StringUtils.isNotBlank(endDate)?endDate+" 23:59:59":null;
         }else{
-            if(StringUtils.isBlank(type)){
+            if(StringUtils.isBlank(type) && "1".equals(flag)){
                 startDateStr= SliceUpDateUtil.getBeforeDay(new Date(),0)+" 00:00:00";
                 endDateStr=SliceUpDateUtil.getBeforeDay(new Date(),0)+" 23:59:59";
             }

+ 34 - 22
src/main/java/com/ydtech/modules/admin/service/impl/DxDataServiceImpl.java

@@ -74,18 +74,25 @@ public class DxDataServiceImpl implements DxDataService {
         if (records != null && records.size() > 0) {
             for (DxReportDataDto dxReportDataDto : records) {
                 //通过用户id查询电销数据
-                DxDataVo dxDataVo = new DxDataVo(dxQueryVo.getBeginDate(), dxQueryVo.getEndDate(), dxReportDataDto.getUserId());
-                DxDataDto dxData = getDataByPost(dxDataVo, dxApiConfigurationProperties.getFindDataUserIdUrl());
-                if (dxData != null) {
-                    dxReportDataDto.setExhaleDuration(dxData.getExhaleDuration());
-                    dxReportDataDto.setOutgoingCallsNumber(dxData.getOutgoingCallsNumber());
-                    dxReportDataDto.setConnectionsNumber(dxData.getConnectionsNumber());
-                    dxReportDataDto.setCallSuccessRate(dxData.getCallSuccessRate());
-                } else {
+                if(dxReportDataDto.getDxUserId()==null){
                     dxReportDataDto.setExhaleDuration("0");
                     dxReportDataDto.setOutgoingCallsNumber("0");
                     dxReportDataDto.setConnectionsNumber("0");
                     dxReportDataDto.setCallSuccessRate("-");
+                }else{
+                    DxDataVo dxDataVo = new DxDataVo(dxQueryVo.getBeginDate(), dxQueryVo.getEndDate(), dxReportDataDto.getDxUserId());
+                    DxDataDto dxData = getDataByPost(dxDataVo, dxApiConfigurationProperties.getFindDataUserIdUrl());
+                    if (dxData != null) {
+                        dxReportDataDto.setExhaleDuration(dxData.getExhaleDuration());
+                        dxReportDataDto.setOutgoingCallsNumber(dxData.getOutgoingCallsNumber());
+                        dxReportDataDto.setConnectionsNumber(dxData.getConnectionsNumber());
+                        dxReportDataDto.setCallSuccessRate(dxData.getCallSuccessRate());
+                    } else {
+                        dxReportDataDto.setExhaleDuration("0");
+                        dxReportDataDto.setOutgoingCallsNumber("0");
+                        dxReportDataDto.setConnectionsNumber("0");
+                        dxReportDataDto.setCallSuccessRate("-");
+                    }
                 }
                 int qywx_zgd = 0;
                 int qywx_zzb = 0;
@@ -102,11 +109,9 @@ public class DxDataServiceImpl implements DxDataService {
                     KhglDataDto zgdDto = khglZgdDataService.findByUserId(new KhglDataVo(zzdUserId, dxQueryVo.getBeginDate(), dxQueryVo.getEndDate()));
                     if (zgdDto != null && zgdDto.getWxCount() != null) {
                         qywx_zgd += zgdDto.getWxCount();
-
-                        dxReportDataDto.setQywxCount(qywx_zgd + qywx_zzb);
-
                     }
                 }
+                dxReportDataDto.setQywxCount(qywx_zgd + qywx_zzb);
                 //查询微信添加数量
                 Integer count = sysTelemarketingWechatDataMapper.queryCountByUserId(new DxDataVo(dxQueryVo.getBeginDate(), dxQueryVo.getEndDate(), dxReportDataDto.getUserId()));
                 dxReportDataDto.setWxCount(count == null ? 0 : count);
@@ -141,19 +146,25 @@ public class DxDataServiceImpl implements DxDataService {
                 dxReportDataDto.setGroupName(user.getGroupName());
                 dxReportDataDto.setUserId(user.getUserId());
                 dxReportDataDto.setUserName(user.getUserName());
-
-                //通过用户id查询电销数据
-                DxDataDto dxData = getDataByPost(new DxDataVo(dxReportDataDto.getDxUserId(),dxReportDataDto.getDateTime()), dxApiConfigurationProperties.getFindDataUserIdAndDayUrl());
-                if (dxData != null) {
-                    dxReportDataDto.setExhaleDuration(dxData.getExhaleDuration());
-                    dxReportDataDto.setOutgoingCallsNumber(dxData.getOutgoingCallsNumber());
-                    dxReportDataDto.setConnectionsNumber(dxData.getConnectionsNumber());
-                    dxReportDataDto.setCallSuccessRate(dxData.getCallSuccessRate());
-                } else {
+                if(dxReportDataDto.getDxUserId()==null){
                     dxReportDataDto.setExhaleDuration("0");
                     dxReportDataDto.setOutgoingCallsNumber("0");
                     dxReportDataDto.setConnectionsNumber("0");
                     dxReportDataDto.setCallSuccessRate("-");
+                }else{
+                    //通过用户id查询电销数据
+                    DxDataDto dxData = getDataByPost(new DxDataVo(dxReportDataDto.getDxUserId(),dxReportDataDto.getDateTime()), dxApiConfigurationProperties.getFindDataUserIdAndDayUrl());
+                    if (dxData != null) {
+                        dxReportDataDto.setExhaleDuration(dxData.getExhaleDuration());
+                        dxReportDataDto.setOutgoingCallsNumber(dxData.getOutgoingCallsNumber());
+                        dxReportDataDto.setConnectionsNumber(dxData.getConnectionsNumber());
+                        dxReportDataDto.setCallSuccessRate(dxData.getCallSuccessRate());
+                    } else {
+                        dxReportDataDto.setExhaleDuration("0");
+                        dxReportDataDto.setOutgoingCallsNumber("0");
+                        dxReportDataDto.setConnectionsNumber("0");
+                        dxReportDataDto.setCallSuccessRate("-");
+                    }
                 }
                 int qywx_zgd = 0;
                 int qywx_zzb = 0;
@@ -170,9 +181,10 @@ public class DxDataServiceImpl implements DxDataService {
                     KhglDataDto zgdDto = khglZgdDataService.findByUserId(new KhglDataVo(zzdUserId, dxReportDataDto.getDateTime()));
                     if (zgdDto != null && zgdDto.getWxCount() != null) {
                         qywx_zgd += zgdDto.getWxCount();
-                        dxReportDataDto.setQywxCount(qywx_zgd + qywx_zzb);
+
                     }
                 }
+                dxReportDataDto.setQywxCount(qywx_zgd + qywx_zzb);
                 //查询微信添加数量
                 newRecords.add(dxReportDataDto);
             }
@@ -199,7 +211,7 @@ public class DxDataServiceImpl implements DxDataService {
 
         }
         if(response!=null) {
-           HttpResult<DxDataDto> body =  response.getBody();
+            HttpResult<DxDataDto> body =  response.getBody();
             if (body.getCode() == 200) {
                 DxDataDto data = body.getData();
                 return new DxDataDto(dxDataVo.getDateTime(),data.getExhaleDuration(), data.getOutgoingCallsNumber(), data.getConnectionsNumber(), data.getCallSuccessRate());

+ 3 - 1
src/main/resources/mapper/modules/admin/SysTelemarketingWechatDataMapper.xml

@@ -27,10 +27,12 @@
             t3.NAME AS groupName,
             t3.id AS groupId,
             zgd.zgd_user_id AS zgdUserId,
-            zzb.zzb_user_id AS zzdUserId
+            zzb.zzb_user_id AS zzdUserId,
+            dx.dial_username AS  dxUserId
         FROM
         sys_user t1
         LEFT JOIN sys_dept t2 ON t1.dept_id = t2.id
+        LEFT JOIN sys_user_is_dial  dx  ON t1.id =dx.user_id
         LEFT JOIN sys_user_link_dept_internal_agent t4 ON t4.user_id = t1.id
         LEFT JOIN sys_dept_internal_agent t3 ON t2.id = t3.bind_dept_id
         LEFT JOIN sys_user_link_zgd_user_id zgd ON t2.id = zgd.user_id