Преглед на файлове

fix: queryAll接口优化

hidewnd преди 1 месец
родител
ревизия
5cf6cb89f4

+ 11 - 7
yt-lime/lime-service/src/main/java/com/ytpm/lime/service/impl/AdServiceImpl.java

@@ -305,12 +305,15 @@ public class AdServiceImpl implements AdService {
      * 保存记录
      *  始终创建新的事务以保障子方法的独立事务
      */
-//    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
     @Override
+//    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
     public String saveRecordAndChangeUser(DyzAdRecordParam param, YtDyzUser user) {
         //增加广告记录
         YtDyzAdRecord adRecord = new YtDyzAdRecord();
-        if(Objects.isNull(param.getBeginTime())){
+        if(Objects.isNull(param.getBeginTime()) || "null".equals(param.getBeginTime())){
+            if ("null".equals(param.getBeginTime())) {
+                log.warn("param beginTime is null !");
+            }
             param.setBeginTime(param.getFinishTime());
         }
         BeanUtils.copyProperties(param, adRecord);
@@ -329,11 +332,12 @@ public class AdServiceImpl implements AdService {
         }
         if (updateUserTotal) {
             //修改用户信息, 广告次数+1  总收益 + revenue
-            YtDyzUser dyzUser = new YtDyzUser();
-            dyzUser.setUserId(user.getUserId());
-            dyzUser.setTotalVideo(Objects.isNull(user.getTotalVideo()) ? 1 : (user.getTotalVideo() + 1));
-            dyzUser.setTotalIncome(user.getTotalIncome().add(param.getRevenue()));
-            appUserMapper.updateUser(dyzUser);
+            YtDyzUser ytDyzUser = appUserMapper.selectPrimaryKey(user.getUserId());
+            YtDyzUser updateEntity = new YtDyzUser();
+            updateEntity.setUserId(ytDyzUser.getUserId());
+            updateEntity.setTotalVideo(Objects.isNull(ytDyzUser.getTotalVideo()) ? 1 : (ytDyzUser.getTotalVideo() + 1));
+            updateEntity.setTotalIncome(ytDyzUser.getTotalIncome().add(param.getRevenue()));
+            appUserMapper.updateUser(updateEntity);
         }
         return adRecord.getRecordId();
     }

+ 8 - 0
yt-lime/lime-service/src/main/resources/mapper/AdRecordMapper.xml

@@ -127,6 +127,14 @@
         <foreach collection="userIds.split(',')" open="(" close=")" separator="," item="item">
             #{item}
         </foreach>
+        union
+        select
+        record_id, user_id,app_id, nick_name, placement_id, ad_source_id, revenue, network_form_id, network_name, network_placement_id, finish_time, begin_time,result_json,ad_source_type,ad_source_index,ecpm
+        from yt_dyz_ad_record_visitor
+        where ad_source_type != 1 and user_id in
+        <foreach collection="userIds.split(',')" open="(" close=")" separator="," item="item">
+            #{item}
+        </foreach>
         order by finish_time
     </select>
     <select id="getHourRevenue" resultType="com.ytpm.middle.view.AppRevenueHourVO">