Переглянути джерело

feat:IOS登录前校验广告价值接口

zack 2 місяців тому
батько
коміт
24874cc9b7

+ 2 - 2
yt-agent/agent-service/src/main/resources/mapper/AgentDitchMapper.xml

@@ -39,7 +39,7 @@
 
     <select id="ditchList" resultType="com.ytpm.agent.view.AgentDitchView">
         select
-        ditch_id, ditch_name, create_time
+            ditch_id, ditch_name, app_type, app_id, create_time
         from yt_ditch
         <where>
             user_id = #{userId}
@@ -51,7 +51,7 @@
     </select>
     <select id="selectById" resultType="com.ytpm.agent.model.YtDitch">
         select
-            ditch_id, ditch_name, user_id, is_delete, create_time
+            ditch_id, ditch_name, user_id, app_type, app_id, is_delete, create_time
         from yt_ditch
         where ditch_id = #{ditchId}
     </select>

+ 2 - 0
yt-common/src/main/java/com/ytpm/agent/view/AgentDitchView.java

@@ -9,6 +9,8 @@ import java.util.Date;
 @ApiModel("渠道列表")
 public class AgentDitchView {
     private Long ditchId;
+    private String appType;
+    private String appId;
     private String ditchName;
     private Date createTime;
 

+ 2 - 0
yt-common/src/main/java/com/ytpm/app/model/YtDyzAdRecord.java

@@ -22,6 +22,8 @@ public class YtDyzAdRecord extends ComprehensiveCommonView {
     private String userId;
     @ApiModelProperty("用户昵称")
     private String nickName;
+    @ApiModelProperty("IOSID")
+    private String iosId;
     @ApiModelProperty("广告位ID")
     private String placementId;
     @ApiModelProperty("广告源ID")

+ 27 - 1
yt-ios-lemon/lemon-ios-service/src/main/java/com/ytpm/lemonios/controller/WxController.java

@@ -8,6 +8,7 @@ import com.alibaba.fastjson.JSON;
 import com.ytpm.agent.model.YtDitch;
 import com.ytpm.app.enums.AppTypeEnums;
 import com.ytpm.app.model.YtAppDefaultConfig;
+import com.ytpm.app.model.YtDyzAdRecord;
 import com.ytpm.app.model.YtDyzPowerRecord;
 import com.ytpm.app.model.YtDyzUser;
 import com.ytpm.app.param.IosLoginParam;
@@ -21,6 +22,7 @@ import com.ytpm.feign.RiskFeign;
 import com.ytpm.general.RepMessage;
 import com.ytpm.general.Result;
 import com.ytpm.general.StatusCode;
+import com.ytpm.lemonios.dao.AdRecordMapper;
 import com.ytpm.lemonios.dao.AppUserMapper;
 import com.ytpm.lemonios.service.AppUserService;
 import io.swagger.annotations.Api;
@@ -52,6 +54,8 @@ public class WxController {
     @Autowired
     private AppUserMapper appUserMapper;
     @Autowired
+    private AdRecordMapper recordMapper;
+    @Autowired
     private RiskFeign riskFeign;
     @Autowired
     private AppUserService appUserService;
@@ -112,6 +116,19 @@ public class WxController {
         return Result.resultOk(RepMessage.LOGIN_SUCCESS, old);
     }
 
+    @PostMapping("/iosLoginCheck")
+    @ApiOperation("IOS登录校验")
+    @Transactional
+    public Result<?> iosLoginCheck(@RequestBody IosLoginParam param) {
+        YtDyzUser user = appUserMapper.selectByIosId(param.getIosId());
+        List<YtDyzAdRecord> adRecordList = recordMapper.getByIosId(param.getIosId());
+        user.setPreAdRecordList(adRecordList);
+        if (user == null) {
+            return Result.resultErr(RepMessage.OBJECT_NOT_EXIST);
+        }
+        return riskFeign.checkLoginRisk(user);
+    }
+
     @PostMapping("/getByDitchId")
     @ApiOperation("获取默认配置")
     @Transactional
@@ -151,7 +168,16 @@ public class WxController {
         IosUserInfo userInfo = new IosUserInfo();
         userInfo.setOpenid(param.getIosId());
         userInfo.setHeadimgurl(param.getIconUrl());
-        userInfo.setNickname(param.getAlias());
+        if (StrUtil.isEmpty(param.getAlias())){
+            YtDyzUser user = appUserMapper.getYtAppUserForIos(param.getIosId(), param.getDitchId());
+            if (StrUtil.isEmpty(user.getNickName())) {
+                userInfo.setNickname("Tourists" + IdUtil.fastSimpleUUID().substring(0, 8));
+            } else {
+                userInfo.setNickname(user.getNickName());
+            }
+        } else {
+            userInfo.setNickname(param.getAlias());
+        }
         return userInfo;
     }
 

+ 5 - 0
yt-ios-lemon/lemon-ios-service/src/main/java/com/ytpm/lemonios/dao/AdRecordMapper.java

@@ -25,6 +25,11 @@ public interface AdRecordMapper {
      */
     List<YtDyzAdRecord> getByUserIds(@Param("userIds") String userIds);
 
+    /**
+     * 查询激励视频记录
+     */
+    List<YtDyzAdRecord> getByIosId(@Param("iosId") String iosId);
+
     /**
      * 查询应用分小时收益数据
      */

+ 0 - 2
yt-ios-lemon/lemon-ios-service/src/main/java/com/ytpm/lemonios/service/AppUserService.java

@@ -26,6 +26,4 @@ public interface AppUserService {
     YtDyzUser crudForNewTransIos(IosLoginParam param, IosUserInfo userInfo);
 
     Result<?> addDefaultConfig(YtDitch param);
-
-
 }

+ 1 - 0
yt-ios-lemon/lemon-ios-service/src/main/java/com/ytpm/lemonios/service/impl/AdServiceImpl.java

@@ -286,6 +286,7 @@ public class AdServiceImpl implements AdService {
             param.setBeginTime(param.getFinishTime());
         }
         BeanUtils.copyProperties(param, adRecord);
+        adRecord.setIosId(param.getIosId());
         adRecord.setRecordId(IdUtil.fastSimpleUUID());
         adRecord.setUserId(user.getUserId());
         adRecord.setNetworkName(AdPlatformTypeEnum.getDesc(Integer.parseInt(param.getNetworkFormId())));

+ 8 - 0
yt-ios-lemon/lemon-ios-service/src/main/java/com/ytpm/lemonios/service/impl/AppUserServiceImpl.java

@@ -1,11 +1,13 @@
 package com.ytpm.lemonios.service.impl;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.RandomUtil;
 import cn.hutool.core.util.StrUtil;
 import com.ytpm.agent.enums.UserStatusEnum;
 import com.ytpm.agent.model.YtDitch;
 import com.ytpm.app.model.YtAppDefaultConfig;
+import com.ytpm.app.model.YtDyzAdRecord;
 import com.ytpm.app.model.YtDyzAnswerRecord;
 import com.ytpm.app.model.YtDyzLoginRecord;
 import com.ytpm.app.model.YtDyzUser;
@@ -25,6 +27,8 @@ import com.ytpm.lemonios.dao.LoginRecordMapper;
 import com.ytpm.lemonios.dao.QuestionMapper;
 import com.ytpm.lemonios.redis.RedisService;
 import com.ytpm.lemonios.service.AppUserService;
+import com.ytpm.risk.view.RiskConfigView;
+import com.ytpm.risk.view.RiskTemplateView;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.cloud.context.config.annotation.RefreshScope;
@@ -32,12 +36,16 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
+import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 @Service
 @RefreshScope

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

@@ -7,6 +7,7 @@
         (
          record_id,
          user_id,
+         ios_id,
          nick_name,
          placement_id,
          ad_source_id,
@@ -26,6 +27,7 @@
         (
          #{recordId},
          #{userId},
+         #{iosId},
          #{nickName},
          #{placementId},
          #{adSourceId},
@@ -61,6 +63,12 @@
           </if>
         order by finish_time desc
     </select>
+    <select id="getByIosId" resultType="com.ytpm.app.model.YtDyzAdRecord">
+        select
+        record_id, user_id,app_id,ios_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
+        where ios_id = #{iosId}
+    </select>
     <select id="getByUserIds" resultType="com.ytpm.app.model.YtDyzAdRecord">
         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