wangzhe 2 anos atrás
pai
commit
85e7c696cd

+ 30 - 0
mybusiness/src/main/java/com/sooka/system/mapper/TULogMapper.java

@@ -3,6 +3,7 @@ package com.sooka.system.mapper;
 import java.util.List;
 import java.util.Map;
 
+import com.business.domain.ImputationData;
 import com.sooka.common.annotation.DataSource;
 import com.sooka.common.enums.DataSourceType;
 import com.sooka.system.domain.TULog;
@@ -54,6 +55,35 @@ public interface TULogMapper
     public int insertTULog(TULog tULog);
 
     /**
+     * 查询归集数据频次
+     *
+     * @param imputationData 归集数据频次
+     * @return 结果
+     */
+    public ImputationData selectImputationData(ImputationData imputationData);
+    /**
+     * 新增归集数据频次
+     *
+     * @param imputationData 归集数据频次
+     * @return 结果
+     */
+    public int insertImputationData(ImputationData imputationData);
+    /**
+     * 修改归集数据频次
+     *
+     * @param imputationData 归集数据频次
+     * @return 结果
+     */
+    public int updateImputationData(ImputationData imputationData);
+    /**
+     * 修改归集数据频次 功德+1
+     *
+     * @param imputationData 归集数据频次 功德+1
+     * @return 结果
+     */
+    public int updateImputationInterfaceByYearMonthInterfaceId(ImputationData imputationData);
+
+    /**
      * 修改接口调用日志
      *
      * @param tULog 接口调用日志

+ 48 - 0
mybusiness/src/main/java/com/sooka/system/service/impl/Guiji_Base_Service.java

@@ -1,6 +1,7 @@
 package com.sooka.system.service.impl;
 
 import com.business.controller.WebSocketServer;
+import com.business.domain.ImputationData;
 import com.sooka.common.utils.CacheUtils;
 import com.sooka.common.utils.ServletUtils;
 import com.sooka.common.utils.uuid.UUID;
@@ -16,6 +17,8 @@ import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 import java.util.Iterator;
 import java.util.Set;
 
@@ -72,6 +75,51 @@ public class Guiji_Base_Service {
              }
          }
 
+         //归集数据频次分析
+        imputationData(baseBusinessEntity.getInterfaceinfoId(), baseBusinessEntity.getInterfaceinfoName());
+    }
+
+    /**
+     * 归集数据频次分析
+     * 每次归集数据判断是否需要新增一条记录
+     */
+    private void imputationData(String interfaceId, String interfaceName) {
+        String year = new SimpleDateFormat("yyyy").format(new Date());//String year = "2022";
+        ImputationData param = new ImputationData();
+        param.setYear(year);
+        param.setInterfaceId(interfaceId);
+        ImputationData imputationData = tuLogMapper.selectImputationData(param);
+        if(imputationData == null){
+            ImputationData imputationDataInsert = new ImputationData();
+            imputationDataInsert.setYear(year);
+            imputationDataInsert.setInterfaceId(interfaceId);
+            imputationDataInsert.setInterfaceName(interfaceName);
+            imputationDataInsert.setJan(imputationData.getJan());
+            imputationDataInsert.setFeb(imputationData.getFeb());
+            imputationDataInsert.setMar(imputationData.getMar());
+            imputationDataInsert.setApr(imputationData.getApr());
+            imputationDataInsert.setMay(imputationData.getMay());
+            imputationDataInsert.setJun(imputationData.getJun());
+            imputationDataInsert.setJul(imputationData.getJul());
+            imputationDataInsert.setAug(imputationData.getAug());
+            imputationDataInsert.setSep(imputationData.getSep());
+            imputationDataInsert.setOct(imputationData.getOct());
+            imputationDataInsert.setNov(imputationData.getNov());
+            imputationDataInsert.setDecb(imputationData.getDecb());
+            tuLogMapper.insertImputationData(imputationDataInsert);
+        }else {
+            String month = new SimpleDateFormat("M").format(new Date());//String month = "7";
+            ImputationData imputationDataUpdate = new ImputationData();
+            imputationDataUpdate.setYear(year);
+            imputationDataUpdate.setMonth(month);
+            imputationDataUpdate.setInterfaceId(interfaceId);
+            tuLogMapper.updateImputationInterfaceByYearMonthInterfaceId(imputationDataUpdate);
+        }
+    }
+
+    public static void main(String[] args) {
+        String month = new SimpleDateFormat("M").format(new Date());//String month = "7";
+        System.out.println(month);
     }
 
     /**

+ 73 - 0
mybusiness/src/main/resources/mapper/system/TULogMapper.xml

@@ -84,6 +84,79 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where id = #{id}
     </select>
 
+    <select id="selectImputationData" parameterType="com.business.domain.ImputationData" resultType="com.business.domain.ImputationData">
+        select interface_id from t_u_imputation_interface where year = #{year} and interface_id = #{interfaceId}
+    </select>
+    <insert id="insertImputationData" parameterType="com.business.domain.ImputationData">
+        insert into t_u_imputation_data
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="year != null">year,</if>
+            <if test="jan != null">jan,</if>
+            <if test="feb != null">feb,</if>
+            <if test="mar != null">mar,</if>
+            <if test="apr != null">apr,</if>
+            <if test="may != null">may,</if>
+            <if test="jun != null">jun,</if>
+            <if test="jul != null">jul,</if>
+            <if test="aug != null">aug,</if>
+            <if test="sep != null">sep,</if>
+            <if test="oct != null">oct,</if>
+            <if test="nov != null">nov,</if>
+            <if test="decb != null">decb,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="year != null">#{year},</if>
+            <if test="jan != null">#{jan},</if>
+            <if test="feb != null">#{feb},</if>
+            <if test="mar != null">#{mar},</if>
+            <if test="apr != null">#{apr},</if>
+            <if test="may != null">#{may},</if>
+            <if test="jun != null">#{jun},</if>
+            <if test="jul != null">#{jul},</if>
+            <if test="aug != null">#{aug},</if>
+            <if test="sep != null">#{sep},</if>
+            <if test="oct != null">#{oct},</if>
+            <if test="nov != null">#{nov},</if>
+            <if test="decb != null">#{decb},</if>
+        </trim>
+    </insert>
+    <update id="updateImputationData" parameterType="com.business.domain.ImputationData">
+        update t_u_imputation_data
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="jan != null">jan = #{jan},</if>
+            <if test="feb != null">feb = #{feb},</if>
+            <if test="mar != null">mar = #{mar},</if>
+            <if test="apr != null">apr = #{apr},</if>
+            <if test="may != null">may = #{may},</if>
+            <if test="jun != null">jun = #{jun},</if>
+            <if test="jul != null">jul = #{jul},</if>
+            <if test="aug != null">aug = #{aug},</if>
+            <if test="sep != null">sep = #{sep},</if>
+            <if test="oct != null">oct = #{oct},</if>
+            <if test="nov != null">nov = #{nov},</if>
+            <if test="decb != null">decb = #{decb},</if>
+        </trim>
+        where year = #{year} and interface_id = #{interfaceId}
+    </update>
+    <update id="updateImputationInterfaceByYearMonthInterfaceId" parameterType="com.business.domain.ImputationData">
+        update t_u_imputation_interface
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="month == '1'">jan = jan + 1,</if>
+            <if test="month == '2'">feb = feb + 1,</if>
+            <if test="month == '3'">mar = mar + 1,</if>
+            <if test="month == '4'">apr = apr + 1,</if>
+            <if test="month == '5'">may = may + 1,</if>
+            <if test="month == '6'">jun = jun + 1,</if>
+            <if test="month == '7'">jul = jul + 1,</if>
+            <if test="month == '8'">aug = aug + 1,</if>
+            <if test="month == '9'">sep = sep + 1,</if>
+            <if test="month == '10'">oct = oct + 1,</if>
+            <if test="month == '11'">nov = nov + 1,</if>
+            <if test="month == '12'">decb = decb + 1,</if>
+        </trim>
+        where year = #{year} and interface_id = #{interfaceId}
+    </update>
+
     <insert id="insertTULog" parameterType="TULog">
         insert into t_u_log
         <trim prefix="(" suffix=")" suffixOverrides=",">