Kaynağa Gözat

打标日志增加tag_scope: 0正常数据; 1测试数据 字段 在首页查询时,增加过滤条件

2507040827 8 saat önce
ebeveyn
işleme
4f82f39236

+ 6 - 8
server/yusp-tagging-core/src/main/java/cn/com/yusys/yusp/config/DataDictionary.java

@@ -49,16 +49,14 @@ public class DataDictionary {
 
 
 
+
     /**
-     *    统计值
-     *        day:日
-     *        week:周
-     *        month:月
+     *    标签范围 tag_scope:
+     *        day0正常数据; 1测试数据
+     *
      */
-    public static final String DAY = "day";
-
-    public static final String WEEK = "week";
+    public static final String TEST_DATA = "1";
 
-    public static final String MONTH = "month";
+    public static final String PROD_DATA = "0";
 
 }

+ 6 - 0
server/yusp-tagging-core/src/main/java/cn/com/yusys/yusp/domain/entity/AitagTagLogEntity.java

@@ -157,4 +157,10 @@ passr: true/false
      **/
     @ApiModelProperty(value = "网点")
     private String feedbackUserEndpoint;
+
+    /**
+     * 标签标识 0正常数据; 1测试数据
+     **/
+    @ApiModelProperty(value = "标签标识 0:正常数据; 1:测试数据")
+    private String tagScope;
 }

+ 17 - 10
server/yusp-tagging-core/src/main/java/cn/com/yusys/yusp/service/impl/AitagTagLogServiceImpl.java

@@ -11,11 +11,13 @@ import cn.com.yusys.yusp.mapper.AitagTagLogDao;
 import cn.com.yusys.yusp.domain.entity.AitagTagLogEntity;
 import cn.com.yusys.yusp.service.AitagTagLogService;
 import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -37,6 +39,7 @@ import static cn.com.yusys.yusp.config.DataDictionary.*;
  */
 
 @Service("aitagTagLogService")
+@Slf4j
 public class AitagTagLogServiceImpl extends ServiceImpl<AitagTagLogDao, AitagTagLogEntity> implements AitagTagLogService {
 
     @Autowired
@@ -48,34 +51,35 @@ public class AitagTagLogServiceImpl extends ServiceImpl<AitagTagLogDao, AitagTag
     @Override
     public DataOverviewVo dataOverview(SmartTaggingResultVo taggingResult) {
         DataOverviewVo dataOverview = new DataOverviewVo();
+
         Integer totalCnt = this.baseMapper.selectTagCount(taggingResult);
+        log.info("查询出符合条件的全部打标数据:{} 条",totalCnt);
         dataOverview.setCountNum(totalCnt);
 
         LambdaQueryWrapper<AitagTagLogEntity> queryCount = new LambdaQueryWrapper<>();
-        LambdaQueryWrapper<AitagTagLogEntity> queryAgreeTags = new LambdaQueryWrapper<>();
         if (StringUtils.isNotBlank(taggingResult.getCategoryCode())) {
             queryCount.eq(AitagTagLogEntity::getCategoryCode, taggingResult.getCategoryCode());
-            queryAgreeTags.eq(AitagTagLogEntity::getCategoryCode, taggingResult.getCategoryCode());
         }
         if (StringUtils.isNotBlank(taggingResult.getStartTaggingTime())){
             queryCount.ge(AitagTagLogEntity::getInsertTime, taggingResult.getStartTaggingTime());
-            queryAgreeTags.ge(AitagTagLogEntity::getInsertTime, taggingResult.getStartTaggingTime());
         }
         if (StringUtils.isNotBlank(taggingResult.getEndTaggingTime())){
             queryCount.le(AitagTagLogEntity::getInsertTime, taggingResult.getEndTaggingTime());
-            queryAgreeTags.le(AitagTagLogEntity::getInsertTime, taggingResult.getEndTaggingTime());
         }
         queryCount.in(AitagTagLogEntity::getState, DataDictionary.RESULT_PUSHED,DataDictionary.MANAGER_CONFIRMED);
-        queryAgreeTags.in(AitagTagLogEntity::getState, DataDictionary.RESULT_PUSHED,DataDictionary.MANAGER_CONFIRMED);
-
+        queryCount.eq(AitagTagLogEntity::getTagScope, PROD_DATA);
         Integer totalConfirmedCnt = this.baseMapper.selectCount(queryCount);
+        log.info("查询出符合条件的打标完成数据:{} 条",totalConfirmedCnt);
+        dataOverview.setAccurateNum(totalConfirmedCnt);
 
-        queryAgreeTags.eq(AitagTagLogEntity::getFeedback,FEEDBACK_RESULT_AGREE);
-        Integer agreeTagNum = this.baseMapper.selectCount(queryAgreeTags);
-        BigDecimal accurateRate = calculateAccuracy(agreeTagNum, totalConfirmedCnt);
+        queryCount.eq(AitagTagLogEntity::getFeedback,FEEDBACK_RESULT_AGREE);
+        Integer agreeTagNum = this.baseMapper.selectCount(queryCount);
+        log.info("查询出符合条件的打标准确数据:{} 条",agreeTagNum);
 
-        dataOverview.setAccurateNum(totalConfirmedCnt);
+        BigDecimal accurateRate = calculateAccuracy(agreeTagNum, totalConfirmedCnt);
+        log.info("计算出准确率:{} 条",accurateRate);
         dataOverview.setAccurateRate(accurateRate+"%");
+
         if(totalConfirmedCnt == 0){
             dataOverview.setManualAdjustRate("0%");
         }else{
@@ -84,6 +88,7 @@ public class AitagTagLogServiceImpl extends ServiceImpl<AitagTagLogDao, AitagTag
         }
         dataOverview.setManualAdjustCount(totalConfirmedCnt-agreeTagNum);
         dataOverview.setTaggedUnconfirmed(totalCnt-totalConfirmedCnt);
+        log.info("准备返回数据为:{} ", JSONObject.toJSONString(dataOverview));
         return dataOverview;
     }
 
@@ -117,6 +122,7 @@ public class AitagTagLogServiceImpl extends ServiceImpl<AitagTagLogDao, AitagTag
         if (StringUtils.isNotBlank(transactionReqVo.getLoanApplicationNo())){
             queryWrapper.le(AitagTagLogEntity::getBusinessAttr, transactionReqVo.getLoanApplicationNo());
         }
+        queryWrapper.eq(AitagTagLogEntity::getTagScope, PROD_DATA);
 
         return this.page(new Page<>(transactionReqVo.getPage() == null?0:transactionReqVo.getPage(),
                 transactionReqVo.getSize() == null?10:transactionReqVo.getSize()),queryWrapper);
@@ -177,6 +183,7 @@ public class AitagTagLogServiceImpl extends ServiceImpl<AitagTagLogDao, AitagTag
         if (StringUtils.isNotBlank(transactionReqVo.getLoanApplicationNo())){
             queryCount.le(AitagTagLogEntity::getBusinessAttr, transactionReqVo.getLoanApplicationNo());
         }
+        queryCount.eq(AitagTagLogEntity::getTagScope, PROD_DATA);
         return this.baseMapper.selectList(queryCount);
     }
 

+ 11 - 9
server/yusp-tagging-core/src/main/resources/mapper/AitagTagLogMapper.xml

@@ -28,7 +28,8 @@
         SELECT
         COUNT(1) as totalCount
         FROM aitag_tag_log
-        <where>
+        WHERE
+            tag_scope = 0
             <if test="startTaggingTime != null and startTaggingTime != ''">
                 AND insert_time >= #{startTaggingTime}
             </if>
@@ -38,7 +39,6 @@
             <if test="categoryCode != null and categoryCode != ''">
                 AND #{categoryCode} = category_code
             </if>
-        </where>
     </select>
 
     <select id="selectTagReportByDay" resultType="cn.com.yusys.yusp.domain.vo.IconResVo" parameterType="cn.com.yusys.yusp.domain.vo.SmartTaggingResultVo">
@@ -46,7 +46,8 @@
         DATE_FORMAT(insert_time, '%Y年%m月%d日') AS stat,
         COUNT(1) AS val
         FROM aitag_tag_log
-        <where>
+        WHERE
+        tag_scope = 0
             <if test="startTaggingTime != null and startTaggingTime != ''">
                 AND insert_time >= #{startTaggingTime}
             </if>
@@ -56,7 +57,6 @@
             <if test="categoryCode != null and categoryCode != ''">
                 AND #{categoryCode} = category_code
             </if>
-        </where>
         GROUP BY DATE_FORMAT(insert_time, '%Y年%m月%d日')
         ORDER BY stat;
     </select>
@@ -66,7 +66,8 @@
         DATE_FORMAT(insert_time, '%Y年%m月') AS stat,
         COUNT(1) AS val
         FROM aitag_tag_log
-        <where>
+        WHERE
+        tag_scope = 0
             <if test="startTaggingTime != null and startTaggingTime != ''">
                 AND insert_time >= #{startTaggingTime}
             </if>
@@ -76,7 +77,6 @@
             <if test="categoryCode != null and categoryCode != ''">
                 AND #{categoryCode} = category_code
             </if>
-        </where>
         GROUP BY DATE_FORMAT(insert_time, '%Y年%m月')
         ORDER BY stat;
     </select>
@@ -86,7 +86,8 @@
         YEARWEEK(insert_time, 1) AS stat,
         COUNT(1) AS val
         FROM aitag_tag_log
-        <where>
+        WHERE
+        tag_scope = 0
             <if test="startTaggingTime != null and  startTaggingTime != ''">
                 AND insert_time >= #{startTaggingTime}
             </if>
@@ -96,7 +97,6 @@
             <if test="categoryCode != null and categoryCode != ''">
                 AND #{categoryCode} = category_code
             </if>
-        </where>
         GROUP BY YEARWEEK(insert_time, 1)
         ORDER BY stat;
     </select>
@@ -105,7 +105,9 @@
         SELECT id, app_id, insert_time, business_attr, phrase, attachment, attachment_url, `result`, feedback_user_id, feedback_user_nm, feedback_time, feedback, feedback_result, state, consuming_time, category_code
         FROM aitag_tag_log
             where
-            DATE(insert_time) = #{insertTime}
+        WHERE
+            tag_scope = 0
+        AND DATE(insert_time) = #{insertTime}
         AND state in ("2","3")
     </select>