ソースを参照

lime修改同步proverb

hidewnd 1 ヶ月 前
コミット
e274e131b0

+ 2 - 0
yt-proverb/proverb-service/src/main/java/com/ytpm/proverb/dao/AppUserMapper.java

@@ -208,4 +208,6 @@ public interface AppUserMapper {
     YtDyzUser getByDeviceAndDitch(@Param("deviceId") String deviceId,@Param("ditchId")Long ditchId);
 
     String getPlatformByDeviceId(@Param("deviceId")String deviceId);
+
+    void updateTotal(@Param("userId") String userId, @Param("videoCount") int videoCount, @Param("revenue") BigDecimal revenue);
 }

+ 4 - 6
yt-proverb/proverb-service/src/main/java/com/ytpm/proverb/service/impl/AdServiceImpl.java

@@ -332,12 +332,10 @@ public class AdServiceImpl implements AdService {
         }
         if (updateUserTotal) {
             //修改用户信息, 广告次数+1  总收益 + revenue
-            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);
+            if (param.getRevenue() == null) {
+                param.setRevenue(BigDecimal.ZERO);
+            }
+            appUserMapper.updateTotal(user.getUserId(), 1, param.getRevenue());
         }
         return adRecord.getRecordId();
     }

+ 6 - 0
yt-proverb/proverb-service/src/main/resources/mapper/AppUserMapper.xml

@@ -782,4 +782,10 @@
             #{item}
         </foreach>
     </update>
+    <update id="updateTotal">
+        UPDATE yt_dyz_user
+        SET total_video = COALESCE(total_video, 0) + #{videoCount},
+            total_income = COALESCE(total_income, 0) + #{revenue}
+        WHERE user_id = #{userId}
+    </update>
 </mapper>