marxjaw 2 місяців тому
батько
коміт
f57a1a48f5
19 змінених файлів з 0 додано та 2265 видалено
  1. 0 44
      yt-app/app-service/src/main/java/com/ytpm/config/datasource/irun/IRunConfig.java
  2. 0 71
      yt-app/app-service/src/main/java/com/ytpm/controller/irun/IRunAdController.java
  3. 0 44
      yt-app/app-service/src/main/java/com/ytpm/controller/irun/IRunQuestionController.java
  4. 0 260
      yt-app/app-service/src/main/java/com/ytpm/controller/irun/IRunUserController.java
  5. 0 157
      yt-app/app-service/src/main/java/com/ytpm/controller/irun/IRunWxController.java
  6. 0 82
      yt-app/app-service/src/main/java/com/ytpm/dao/irun/IRunAdRecordMapper.java
  7. 0 25
      yt-app/app-service/src/main/java/com/ytpm/dao/irun/IRunLoginRecordMapper.java
  8. 0 38
      yt-app/app-service/src/main/java/com/ytpm/dao/irun/IRunQuestionMapper.java
  9. 0 187
      yt-app/app-service/src/main/java/com/ytpm/dao/irun/IRunUserMapper.java
  10. 0 31
      yt-app/app-service/src/main/java/com/ytpm/service/irun/IRunAdService.java
  11. 0 17
      yt-app/app-service/src/main/java/com/ytpm/service/irun/IRunQuestionService.java
  12. 0 18
      yt-app/app-service/src/main/java/com/ytpm/service/irun/IRunUserService.java
  13. 0 131
      yt-app/app-service/src/main/java/com/ytpm/service/irun/impl/IRunAdServiceImpl.java
  14. 0 70
      yt-app/app-service/src/main/java/com/ytpm/service/irun/impl/IRunQuestionServiceImpl.java
  15. 0 158
      yt-app/app-service/src/main/java/com/ytpm/service/irun/impl/IRunUserServiceImpl.java
  16. 0 204
      yt-app/app-service/src/main/resources/mapper/irun/IRunAdRecordMapper.xml
  17. 0 74
      yt-app/app-service/src/main/resources/mapper/irun/IRunLoginRecordMapper.xml
  18. 0 59
      yt-app/app-service/src/main/resources/mapper/irun/IRunQuestionMapper.xml
  19. 0 595
      yt-app/app-service/src/main/resources/mapper/irun/IRunUserMapper.xml

+ 0 - 44
yt-app/app-service/src/main/java/com/ytpm/config/datasource/irun/IRunConfig.java

@@ -1,44 +0,0 @@
-package com.ytpm.config.datasource.irun;
-
-import org.apache.ibatis.session.SqlSessionFactory;
-import org.mybatis.spring.SqlSessionFactoryBean;
-import org.mybatis.spring.SqlSessionTemplate;
-import org.mybatis.spring.annotation.MapperScan;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
-
-import javax.sql.DataSource;
-
-/**
- * @author Marx
- * @date 2025/8/15 14:51
- */
-@Configuration
-@MapperScan(basePackages = {"com.ytpm.dao.irun"}, sqlSessionFactoryRef = "sqlSessionFactoryIRun")
-public class IRunConfig {
-    @Autowired
-    @Qualifier("yt_irun")
-    private DataSource dataSourceIRun;
-
-    /**
-     * 自定义Sql会话,启动类配置不生效,子类分别配置mapperLocation和驼峰映射
-     */
-    @Bean
-    public SqlSessionFactory sqlSessionFactoryIRun() throws Exception {
-        SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
-        factoryBean.setDataSource(dataSourceIRun);
-        factoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/irun/*.xml"));
-        org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration();
-        configuration.setMapUnderscoreToCamelCase(true);
-        factoryBean.setConfiguration(configuration);
-        return factoryBean.getObject();
-    }
-
-    @Bean
-    public SqlSessionTemplate sqlSessionTemplateIRun() throws Exception {
-        return new SqlSessionTemplate(sqlSessionFactoryIRun());
-    }
-}

+ 0 - 71
yt-app/app-service/src/main/java/com/ytpm/controller/irun/IRunAdController.java

@@ -1,71 +0,0 @@
-package com.ytpm.controller.irun;
-
-import com.ytpm.app.param.DyzAdRecordParam;
-import com.ytpm.general.Result;
-import com.ytpm.middle.view.DashboardRankingListVO;
-import com.ytpm.middle.view.DashboardRevenueVO;
-import com.ytpm.service.irun.IRunAdService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.annotation.Resource;
-import java.math.BigDecimal;
-import java.util.Map;
-
-@Api(tags = "用户浏览广告记录")
-@RestController
-@RequestMapping("/irun/ad")
-public class IRunAdController {
-
-    @Resource
-    private IRunAdService iRunAdService;
-
-    /**
-     * 保存广告记录
-     */
-    @ApiOperation("保存")
-    @PostMapping("/saveRecord")
-    public Result<?> saveRecord(@RequestBody DyzAdRecordParam param){
-        return iRunAdService.saveRecord(param);
-    }
-
-    /**
-     * 根据应用ID查询广告数
-     */
-    @ApiOperation("根据应用ID查询广告数")
-    @GetMapping("/getAdCount")
-    public Map<String, BigDecimal> getAdCount(@RequestParam(name = "appIds")String appIds){
-        return iRunAdService.getAdCount(appIds);
-    }
-
-    /**
-     * 查询应用排行榜信息
-     */
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "sortBy", value = "排行榜排序规则",required = true),
-            @ApiImplicitParam(name = "limit", value = "排行榜显示数量",required = true),
-    })
-    @ApiOperation("查询应用排行榜信息")
-    @GetMapping("/getAppRankingList")
-    public DashboardRankingListVO queryRankingList(@RequestParam(name = "sortBy")Integer sortBy, @RequestParam(name = "limit")Integer limit){
-        return iRunAdService.queryRankingList(sortBy,limit);
-    }
-
-    /**
-     * 查询各渠道应用收益分时统计
-     */
-    @ApiImplicitParam(name = "apkIds", value = "渠道应用ID(,拼接)",required = true)
-    @ApiOperation("查询各渠道应用收益分时统计")
-    @GetMapping("/revenueStatics")
-    public DashboardRevenueVO revenueStatics(@RequestParam(name = "apkIds")String apkIds){
-        return iRunAdService.revenueStatics(apkIds);
-    }
-}

+ 0 - 44
yt-app/app-service/src/main/java/com/ytpm/controller/irun/IRunQuestionController.java

@@ -1,44 +0,0 @@
-package com.ytpm.controller.irun;
-
-
-import com.ytpm.app.param.AnswerRecordParam;
-import com.ytpm.app.view.QuestionListView;
-import com.ytpm.general.Result;
-import com.ytpm.general.ResultTable;
-import com.ytpm.service.irun.IRunQuestionService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.annotation.Resource;
-
-@Api(tags = "题目管理模块")
-@RestController
-@RequestMapping("/irun/question")
-public class IRunQuestionController {
-
-    @Resource
-    private IRunQuestionService iRunQuestionService;
-
-    /**
-     * 获取题库
-     */
-    @ApiOperation("获取题库")
-    @GetMapping("/list")
-    public ResultTable<QuestionListView> questionList(){
-        return iRunQuestionService.questionList();
-    }
-
-    /**
-     * 回答问题
-     */
-    @ApiOperation("回答问题")
-    @PostMapping("/answerQuestion")
-    public Result<String> answerQuestion(@RequestBody AnswerRecordParam param){
-        return iRunQuestionService.answerQuestion(param);
-    }
-}

+ 0 - 260
yt-app/app-service/src/main/java/com/ytpm/controller/irun/IRunUserController.java

@@ -1,260 +0,0 @@
-package com.ytpm.controller.irun;
-
-import cn.hutool.core.date.DateUtil;
-import com.github.pagehelper.PageHelper;
-import com.github.pagehelper.PageInfo;
-import com.ytpm.advertise.enums.AdSourceTypeEnum;
-import com.ytpm.app.model.YtDyzAdRecord;
-import com.ytpm.app.model.YtDyzUser;
-import com.ytpm.app.param.AppQueryUserTodayTimeParam;
-import com.ytpm.app.param.AppUserParam;
-import com.ytpm.app.param.AppUserQueryParam;
-import com.ytpm.app.param.AppUserTodayBannedParam;
-import com.ytpm.app.param.YtAppUserListParam;
-import com.ytpm.app.view.HourCountView;
-import com.ytpm.app.view.YtAppUserListView;
-import com.ytpm.dao.irun.IRunAdRecordMapper;
-import com.ytpm.dao.irun.IRunLoginRecordMapper;
-import com.ytpm.dao.irun.IRunQuestionMapper;
-import com.ytpm.dao.irun.IRunUserMapper;
-import com.ytpm.dao.nofeeds.NFAdRecordMapper;
-import com.ytpm.dao.nofeeds.NFLoginRecordMapper;
-import com.ytpm.dao.nofeeds.NFQuestionMapper;
-import com.ytpm.dao.nofeeds.NFUserMapper;
-import com.ytpm.general.RepMessage;
-import com.ytpm.general.Result;
-import com.ytpm.general.ResultTable;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.annotation.Resource;
-import java.math.BigDecimal;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.ZoneId;
-import java.time.format.DateTimeFormatter;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-@RestController
-@RequestMapping("/irun/user")
-public class IRunUserController {
-    @Resource
-    private IRunUserMapper iRunUserMapper;
-    @Resource
-    private IRunLoginRecordMapper iRunLoginRecordMapper;
-    @Resource
-    private IRunAdRecordMapper iRunAdRecordMapper;
-    @Resource
-    private IRunQuestionMapper iRunQuestionMapper;
-
-    private static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
-
-    /**
-     * 查询app 所有玩家
-     */
-    @PostMapping("/queryAll")
-    public ResultTable<YtAppUserListView> queryAll(@RequestBody YtAppUserListParam param) {
-        PageHelper.startPage(param.getPage(), param.getLimit());
-        List<YtAppUserListView> dyzUsers = iRunUserMapper.queryAll(param);
-        if (dyzUsers.isEmpty()) return ResultTable.resultTableOk(new PageInfo<YtAppUserListView>(dyzUsers));
-        List<YtDyzAdRecord> adRecords = iRunAdRecordMapper.getByUserIds(
-                dyzUsers.stream().map(YtAppUserListView::getUserId).collect(Collectors.joining(",")));
-        Map<String, List<YtDyzAdRecord>> userAdMap = adRecords.stream().collect(
-                Collectors.groupingBy(YtDyzAdRecord::getUserId));
-        setUserExtInfo(dyzUsers,userAdMap);
-        return ResultTable.resultTableOk(new PageInfo<YtAppUserListView>(dyzUsers));
-    }
-
-    /**
-     * 设置用户扩展信息
-     */
-    private void setUserExtInfo(List<YtAppUserListView> dyzUsers, Map<String, List<YtDyzAdRecord>> userAdMap) {
-        for (YtAppUserListView user : dyzUsers) {
-            user.setLoginRecordList(iRunLoginRecordMapper.getLoginRecords(user.getUserId()));
-            //获取今日收益 | 今日视频播放数
-            if (userAdMap.containsKey(user.getUserId())) {
-                List<YtDyzAdRecord> ytDyzAdRecords = userAdMap.get(user.getUserId());
-                List<YtDyzAdRecord> collect = ytDyzAdRecords.stream().filter(
-                        s -> DateUtil.isSameDay(DateUtil.date(),DateUtil.parseDate(s.getFinishTime()))).collect(Collectors.toList());
-                BigDecimal todayIncome = collect.stream().map(YtDyzAdRecord::getRevenue).reduce(BigDecimal.ZERO, BigDecimal::add);
-                user.setTodayVideo((int) collect.stream().filter(
-                        s->s.getAdSourceType()== AdSourceTypeEnum.rewarded_video.getAdSourceType()).count());
-                user.setTodayIncome(todayIncome);
-            } else {
-                user.setTodayIncome(BigDecimal.ZERO);
-                user.setTodayVideo(0);
-            }
-        }
-    }
-    /**
-     * 计算广告记录列表中今日的收益
-     *
-     * @param records 广告记录列表
-     * @return 今日收益总额(BigDecimal)
-     */
-    public static BigDecimal calculateTodayIncome(List<YtDyzAdRecord> records) {
-        // 空列表快速返回
-        if (records == null || records.isEmpty()) {
-            return BigDecimal.ZERO;
-        }
-
-        // 获取今天的日期范围
-        LocalDate today = LocalDate.now();
-        LocalDateTime startOfDay = today.atStartOfDay();
-        LocalDateTime endOfDay = today.plusDays(1).atStartOfDay();
-
-        // 预计算今天的日期字符串前缀(优化性能)
-        String todayPrefix = today.format(DateTimeFormatter.ISO_DATE) + " ";
-
-        return calculateTodayIncome(records, startOfDay, endOfDay, todayPrefix);
-    }
-
-    /**
-     * 计算广告记录列表中今日的收益(带日期范围参数,适用于批量处理)
-     *
-     * @param records     广告记录列表
-     * @param startOfDay  今日开始时间
-     * @param endOfDay    今日结束时间
-     * @param todayPrefix 今日日期前缀(格式:"yyyy-MM-dd ")
-     * @return 今日收益总额(BigDecimal)
-     */
-    public static BigDecimal calculateTodayIncome(
-            List<YtDyzAdRecord> records,
-            LocalDateTime startOfDay,
-            LocalDateTime endOfDay,
-            String todayPrefix) {
-
-        // 空列表快速返回
-        if (records == null || records.isEmpty()) {
-            return BigDecimal.ZERO;
-        }
-
-        BigDecimal totalToday = BigDecimal.ZERO;
-
-        for (YtDyzAdRecord record : records) {
-            String dateStr = record.getFinishTime();
-
-            // 1. 日期字符串是否存在且以今日日期开头
-            if (dateStr == null || !dateStr.startsWith(todayPrefix)) {
-                continue;
-            }
-            try {
-                // 2. 解析日期时间
-                LocalDateTime recordTime = LocalDateTime.parse(dateStr, DATE_TIME_FORMATTER);
-
-                // 3. 检查是否在今日范围内
-                if (recordTime.isBefore(startOfDay) || recordTime.isAfter(endOfDay.minusNanos(1))) {
-                    continue;
-                }
-                // 4. 累加
-                BigDecimal revenue = record.getRevenue();
-                if (revenue != null) {
-                    totalToday = totalToday.add(revenue);
-                }
-            } catch (Exception e) {
-                e.printStackTrace();
-            }
-        }
-        return totalToday;
-    }
-
-
-
-    /**
-     * 主键查询用户信息
-     */
-    @GetMapping("/getUserInfo")
-    public Result<YtDyzUser> getUserInfo(@RequestParam("userId") String userId) {
-        YtDyzUser user = iRunUserMapper.selectPrimaryKey(userId);
-        user.setLoginRecordList(iRunLoginRecordMapper.getLoginRecords(userId));
-        user.setTodayAnswerCount(iRunQuestionMapper.getAnswerCount(userId,1));
-        user.setHistoryAnswerCount(iRunQuestionMapper.getAnswerCount(userId,2));
-        user.setAnswerRecordList(iRunQuestionMapper.getAnswerRecords(userId));
-        return Result.resultObjOk(user);
-    }
-
-    /**
-     * 查询用户信息
-     */
-    @PostMapping("/getUserList")
-    public ResultTable<YtDyzUser> getUserList(@RequestBody AppUserParam param) {
-        List<YtDyzUser> userList = iRunUserMapper.queryByUserIds(param.getUserIds());
-        for (YtDyzUser user : userList) {
-            user.setLoginRecordList(iRunLoginRecordMapper.getLoginRecords(user.getUserId()));
-        }
-        return ResultTable.resultTableOk(new PageInfo<>(userList));
-    }
-
-    @PostMapping("/getUserAll")
-    public ResultTable<YtDyzUser> getUserAll(@RequestBody AppUserParam param) {
-        List<YtDyzUser> userList = iRunUserMapper.queryByUserIds(param.getUserIds());
-        return ResultTable.resultTableOk(new PageInfo<>(userList));
-    }
-
-    /**
-     * 修改用户信息
-     */
-    @PostMapping("/updateUserInfo")
-    public Result<?> updateUserInfo(@RequestBody YtDyzUser dyzUser) {
-        iRunUserMapper.updateUser(dyzUser);
-        return Result.resultOk(RepMessage.MODIFY_SUCCESS);
-    }
-
-    /**
-     * 查询用户的广告记录
-     */
-    @GetMapping("/adRecords")
-    public ResultTable<YtDyzAdRecord> adRecords(@RequestParam(name = "userId",required = true) String userId,@RequestParam(name = "adsourceType",required = false)Integer adsourceType) {
-        return ResultTable.resultTableOk(new PageInfo<YtDyzAdRecord>(iRunAdRecordMapper.getByUserId(userId,adsourceType)));
-    }
-
-    @PostMapping("/queryUserByTime")
-    public List<YtDyzUser> queryUserByTime(@RequestBody AppUserQueryParam appUserQueryParam) {
-        List<YtDyzUser> ytDyzUsers = iRunUserMapper.queryAllByTime(appUserQueryParam.getStartTime(), appUserQueryParam.getEndTime(),appUserQueryParam.getAppIdList());
-        return ytDyzUsers;
-    }
-
-    @PostMapping("/queryUserByTodayTime")
-    public int[] queryUserByTodayTime(@RequestBody AppQueryUserTodayTimeParam appQueryUserTodayTimeParam) {
-        // 获取当前日期
-        LocalDate localDate = LocalDate.now();
-
-        // 构建当天起始时间段
-        LocalDateTime startOfDay = localDate.atStartOfDay();
-        LocalDateTime endOfDay = startOfDay.plusDays(1).minusSeconds(1);
-
-        Date startTime = Date.from(startOfDay.atZone(ZoneId.systemDefault()).toInstant());
-        Date endTime = Date.from(endOfDay.atZone(ZoneId.systemDefault()).toInstant());
-        // 查询用户注册数据
-        List<HourCountView> hourCountViews = iRunUserMapper.countUsersByHour(startTime, endTime,appQueryUserTodayTimeParam.getAppIdList());
-        // 初始化每小时用户数量数组
-        int[] hourlyCounts = new int[24];
-        for (HourCountView hc : hourCountViews) {
-            if (hc.getHour() >= 0 && hc.getHour() < 24) {
-                hourlyCounts[hc.getHour()] = hc.getCount();
-            }
-        }
-        return hourlyCounts;
-    }
-
-    @PostMapping("/queryLoginRecords")
-    public List<String> queryLoginRecords(@RequestBody AppUserQueryParam appUserQueryParam) {
-        return iRunLoginRecordMapper.queryLoginCount(appUserQueryParam);
-    }
-
-    @GetMapping("/queryByOpenid")
-    public List<YtDyzUser> queryByOpenid(@RequestParam("openid") String openid){
-        return iRunUserMapper.queryByOpenid(openid);
-    }
-    @PostMapping("/queryTodayBanned")
-    public List<YtDyzUser> queryTodayBanned(@RequestBody AppUserTodayBannedParam appUserTodayBannedParam){
-        return iRunUserMapper.queryTodayBanned(appUserTodayBannedParam.getStartTime(), appUserTodayBannedParam.getEndTime(), appUserTodayBannedParam.getUserIdList());
-    }
-}

+ 0 - 157
yt-app/app-service/src/main/java/com/ytpm/controller/irun/IRunWxController.java

@@ -1,157 +0,0 @@
-package com.ytpm.controller.irun;
-
-import cn.hutool.core.util.IdUtil;
-import cn.hutool.core.util.StrUtil;
-import cn.hutool.http.HttpUtil;
-import com.alibaba.fastjson.JSON;
-import com.ytpm.app.enums.AppTypeEnums;
-import com.ytpm.app.model.YtAppDefaultConfig;
-import com.ytpm.app.model.YtDyzPowerRecord;
-import com.ytpm.app.model.YtDyzUser;
-import com.ytpm.app.param.WxLoginParam;
-import com.ytpm.app.view.WxDefaultConfig;
-import com.ytpm.app.view.WxLoginResult;
-import com.ytpm.app.view.WxUserInfo;
-import com.ytpm.dao.irun.IRunUserMapper;
-import com.ytpm.feign.RiskFeign;
-import com.ytpm.general.RepMessage;
-import com.ytpm.general.Result;
-import com.ytpm.handle.CustomerException;
-import com.ytpm.service.irun.IRunUserService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.servlet.http.HttpServletRequest;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
-
-@Slf4j
-@Api(tags = "微信开放能力模块")
-@RestController
-@RequestMapping("/irun/wx")
-public class IRunWxController {
-    private final static String GRANT_TYPE = "authorization_code";
-    @Autowired
-    private IRunUserMapper iRunUserMapper;
-    @Autowired
-    private RiskFeign riskFeign;
-    @Autowired
-    private IRunUserService iRunUserService;
-
-    @PostMapping("/login")
-    @ApiOperation("微信登录")
-    @Transactional
-    public Result<YtDyzUser> wxLogin(@RequestBody WxLoginParam param, HttpServletRequest request) {
-        //根据应用获取配置调用微信接口登录
-        WxDefaultConfig defaultConfig = iRunUserMapper.getDefaultConfig(param.getAppType());
-        if(Objects.isNull(defaultConfig)){
-            throw new CustomerException("微信登录失败,未找到相应配置!");
-        }
-        param.setAppId(defaultConfig.getPlatformAppId());
-        WxLoginResult loginResult = getWechatLoginInfo(param.getWxCode(),param.getAppType(),defaultConfig.getAppId(),defaultConfig.getSecret());
-        if(Objects.isNull(loginResult)|| StrUtil.isBlank(loginResult.getOpenid())){
-            throw new CustomerException("微信登录失败,请刷新授权码!");
-        }
-        WxUserInfo wxUserInfo = getWechatUserInfo(loginResult.getAccess_token(),loginResult.getOpenid());
-        if(Objects.isNull(wxUserInfo)) {
-            throw new CustomerException("微信用户登录失败");
-        }
-        param.setLoginIp(getClientIp(request));
-        YtDyzUser old = iRunUserService.crudForNewTrans(param,wxUserInfo,loginResult);
-        //调用风控服务校验默认风控配置
-        old.setRiskCode("313");
-        Result<?> result = riskFeign.checkRisk(old);
-        if(result.getCode()!=200){
-            throw new CustomerException(result.getMessage());
-        }
-        return Result.resultOk(RepMessage.LOGIN_SUCCESS, old);
-    }
-
-    private String getClientIp(HttpServletRequest request) {
-        String xfHeader = request.getHeader("X-Forwarded-For");
-        if (xfHeader == null) {
-            return request.getRemoteAddr();
-        }
-        return xfHeader.split(",")[0]; // 可能会有多个IP,这里取第一个逗号前的IP
-    }
-
-    /**
-     * 获取微信用户信息
-     */
-    private WxUserInfo getWechatUserInfo(String accessToken, String openid) {
-        // 根据token和openid 获取用户信息
-        String userInfoUrl = "https://api.weixin.qq.com/sns/userinfo?access_token="+accessToken+"&openid="+openid+"&lang=zh_CN";
-        String curUser = HttpUtil.get(userInfoUrl);
-        WxUserInfo wxUserInfo = JSON.parseObject(curUser, WxUserInfo.class);
-        log.error("获取的用户信息:{}",wxUserInfo);
-        return wxUserInfo;
-    }
-
-    /**
-     * 微信登录
-     */
-    private WxLoginResult getWechatLoginInfo(String wxCode,int appType,String appId,String secret) {
-
-        String wxLoginUrl;
-        if(AppTypeEnums.QNJZ.getCode() == appType){
-            wxLoginUrl = "https://api.weixin.qq.com/sns/oauth2/access_token?appid="
-                    +appId+"&secret="+secret+"&code="+wxCode+"&grant_type="+GRANT_TYPE;
-        }else{
-            wxLoginUrl = "https://api.weixin.qq.com/sns/oauth2/access_token?appid="+appId
-                    +"&secret="+secret+"&code="+wxCode+"&grant_type="+GRANT_TYPE;
-        }
-        //拿到授权码 请求微信登录返回access_token
-        String result = HttpUtil.get(wxLoginUrl);
-        WxLoginResult loginResult = JSON.parseObject(result, WxLoginResult.class);
-        log.error("授权码获取的登录结果:{}",loginResult);
-        return loginResult;
-    }
-
-    @ApiOperation("获取微信默认配置项")
-    @GetMapping("/defaultConfig")
-    public Result<String> getWxDefaultConfig(int appType) {
-        WxDefaultConfig config = iRunUserMapper.getDefaultConfig(appType);
-        if(Objects.isNull(config)){
-            return Result.resultErr("应用类型有误!");
-        }
-        return Result.resultObjOk(config.getAppId());
-    }
-
-    @ApiOperation("体力增加")
-    @GetMapping("/addPower")
-    @Transactional(rollbackFor = Exception.class)
-    public Result<YtDyzUser> addPower(@RequestParam("userId")String userId) {
-        iRunUserMapper.addOnePower(userId);
-        YtDyzPowerRecord record = new YtDyzPowerRecord();
-        record.setUserId(userId);
-        record.setRecordId(IdUtil.fastSimpleUUID());
-        record.setAddTime(new Date());
-        record.setType(1);
-        record.setRemark("增加体力");
-        iRunUserMapper.addPowerRecord(record);
-        return Result.resultOk(RepMessage.ADD_SUCCESS);
-    }
-
-    @ApiOperation("保存应用默认配置")
-    @PostMapping("/saveAppConfig")
-    public Result<String> saveAppConfig(@RequestBody YtAppDefaultConfig defaultConfig){
-        iRunUserMapper.saveAppConfig(defaultConfig);
-        return Result.resultOk(RepMessage.SAVE_SUCCESS);
-    }
-
-    @ApiOperation("根据APP_ID获取配置")
-    @GetMapping("/getConfigs")
-    public List<WxDefaultConfig> getConfigs(@RequestParam(name = "appIds")String appIds){
-        return iRunUserMapper.getConfigByIds(appIds);
-    }
-}

+ 0 - 82
yt-app/app-service/src/main/java/com/ytpm/dao/irun/IRunAdRecordMapper.java

@@ -1,82 +0,0 @@
-package com.ytpm.dao.irun;
-
-import com.ytpm.agent.view.AgentAdGroupStaticsVO;
-import com.ytpm.app.model.YtDyzAdRecord;
-import com.ytpm.app.param.YtAppUserListParam;
-import com.ytpm.middle.view.AppRevenueHourVO;
-import com.ytpm.middle.view.NetWorkEcpmVO;
-import com.ytpm.middle.view.NetWorkRevenueVO;
-import org.apache.ibatis.annotations.Param;
-import org.mapstruct.Mapper;
-
-import java.math.BigDecimal;
-import java.util.List;
-
-@Mapper
-public interface IRunAdRecordMapper {
-    /**
-     * 新增广告记录
-     */
-    void addOne(YtDyzAdRecord adRecord);
-    /**
-     * 查询用户的广告记录
-     */
-    List<YtDyzAdRecord> getByUserId(@Param("userId") String userId,@Param("adsourceType") Integer adsourceType);
-
-    /**
-     * 查询激励视频记录
-     */
-    List<YtDyzAdRecord> getByUserIds(@Param("userIds") String userIds);
-
-    /**
-     * 查询应用分小时收益数据
-     */
-    List<AppRevenueHourVO> getHourRevenue(@Param("appId") String appId,@Param("type")int type);
-
-    /**
-     * 根据应用统计激励广告数
-     */
-    int countByAppIds(@Param("appIds")String appIds);
-
-    /**
-     * 根据应用查询收益
-     */
-    BigDecimal getRevenueByType(@Param("appIds") String appIds,@Param("type") int type);
-
-    /**
-     * 根据应用和广告平台查询收益
-     */
-    BigDecimal getNetworkRevenueByType(@Param("appIds") String appIds,@Param("type") int type,@Param("networkId") String networkId);
-
-    /**
-     * 根据广告平台ID获取收益
-     */
-    List<NetWorkRevenueVO> getRevenueByIds(@Param("appIds") String appIds, @Param("type") int type, @Param("networkIds") String networkIds);
-
-    /**
-     * 根据应用查询ecpm
-     */
-    BigDecimal getEcpmByType(@Param("appIds")String appIds, @Param("type")int type);
-
-    BigDecimal getNetworkEcpmByType(@Param("appIds")String appIds, @Param("type")int type,@Param("networkId") String networkId);
-
-    /**
-     * 根据广告平台ID获取平均ecpm
-     */
-    List<NetWorkEcpmVO> getEcpmByIds(@Param("appIds")String appIds, @Param("type")int type, @Param("networkIds") String networkIds);
-
-    /**
-     * 查询广告平台分组统计
-     */
-    List<AgentAdGroupStaticsVO> getAdGroupStatics(@Param("appIds")String appIds);
-
-    /**
-     * 根据时间统计收益
-     */
-    BigDecimal getRevenueByTime(YtAppUserListParam param);
-
-    /**
-     * 查询今日广告
-     */
-    List<YtDyzAdRecord> getTodayRecord(@Param("appIds")String appIds,@Param("type")Integer type);
-}

+ 0 - 25
yt-app/app-service/src/main/java/com/ytpm/dao/irun/IRunLoginRecordMapper.java

@@ -1,25 +0,0 @@
-package com.ytpm.dao.irun;
-
-import com.ytpm.app.model.YtDyzLoginRecord;
-import com.ytpm.app.param.AppUserQueryParam;
-import org.apache.ibatis.annotations.Param;
-import org.mapstruct.Mapper;
-
-import java.util.List;
-
-@Mapper
-public interface IRunLoginRecordMapper {
-    /**
-     * 增加用户登录记录
-     */
-    void insertOne(YtDyzLoginRecord loginRecord);
-
-    /**
-     * 查询用户登录记录
-     */
-    List<YtDyzLoginRecord> getLoginRecords(@Param("userId")String userId);
-
-    List<YtDyzLoginRecord> getLoginRecordByIds(@Param("userIds")String userIds);
-
-    List<String> queryLoginCount(AppUserQueryParam appUserQueryParam);
-}

+ 0 - 38
yt-app/app-service/src/main/java/com/ytpm/dao/irun/IRunQuestionMapper.java

@@ -1,38 +0,0 @@
-package com.ytpm.dao.irun;
-
-import com.ytpm.app.model.YtDyzAnswerRecord;
-import com.ytpm.app.view.QuestionListView;
-import org.apache.ibatis.annotations.Param;
-import org.mapstruct.Mapper;
-
-import java.util.List;
-
-@Mapper
-public interface IRunQuestionMapper {
-
-    /**
-     * 获取题库
-     */
-    List<QuestionListView> questionList(@Param("appId")String appId);
-
-    /**
-     * 回答问题
-     */
-    void saveAnswerRecord(YtDyzAnswerRecord record);
-
-    /**
-     * 获取最后一次的问题ID
-     */
-    String getLastQuestionId(@Param("userId") String userId);
-
-    /**
-     * 获取答题数
-     * @param type 1-今日 2-历史
-     */
-    Integer getAnswerCount(@Param("userId")String userId, @Param("type") int type);
-
-    /**
-     * 查询答题历史记录
-     */
-    List<YtDyzAnswerRecord> getAnswerRecords(@Param("userId") String userId);
-}

+ 0 - 187
yt-app/app-service/src/main/java/com/ytpm/dao/irun/IRunUserMapper.java

@@ -1,187 +0,0 @@
-package com.ytpm.dao.irun;
-
-import com.ytpm.agent.param.AuditUserParam;
-import com.ytpm.agent.view.AgentAuditCheckVO;
-import com.ytpm.app.model.YtAppDefaultConfig;
-import com.ytpm.app.model.YtDyzPowerRecord;
-import com.ytpm.app.model.YtDyzUser;
-import com.ytpm.app.param.AppUserParam;
-import com.ytpm.app.param.YtAppUserListParam;
-import com.ytpm.app.view.HourCountView;
-import com.ytpm.app.view.WxDefaultConfig;
-import com.ytpm.app.view.YtAppUserListView;
-import com.ytpm.middle.view.AppRankingListVO;
-import com.ytpm.middle.view.AppUserHourVO;
-import com.ytpm.middle.view.UserRankingListVO;
-import org.apache.ibatis.annotations.Param;
-import org.mapstruct.Mapper;
-
-import java.math.BigDecimal;
-import java.util.Date;
-import java.util.List;
-
-@Mapper
-public interface IRunUserMapper {
-
-    /**
-     * openid查询用户信息
-     */
-    YtDyzUser getYtAppUser(@Param("openid")String openid,@Param("ditchId")long ditchId);
-
-    /**
-     * 主键查询
-     */
-    YtDyzUser selectPrimaryKey(@Param("userId")String userId);
-
-    /**
-     * 新增应用用户
-     */
-    void addOne(YtDyzUser user);
-
-    /**
-     * 增加体力
-     */
-    void addOnePower(@Param("userId")String userId);
-    /**
-     * 减少体力
-     */
-    void subOnePower(@Param("userId")String userId);
-
-    /**
-     * 体力增加记录
-     */
-    void addPowerRecord(YtDyzPowerRecord record);
-
-    /**
-     * 修改用户信息
-     */
-    void updateUser(YtDyzUser newUser);
-    /**
-     * 查询所有玩家
-     */
-    List<YtAppUserListView> queryAll(YtAppUserListParam param);
-
-    /**
-     * 查询所有玩家
-     * 按照注册时间范围查询
-     * @param startTime 开始时间(可选)
-     * @param endTime 结束时间(可选)
-     */
-    List<YtDyzUser> queryAllByTime(
-            @Param("startTime") Date startTime,
-            @Param("endTime") Date endTime,
-            @Param("appIdList") List<String> appIdList
-    );
-
-    List<HourCountView> countUsersByHour(@Param("startTime") Date startTime,
-                                         @Param("endTime") Date endTime,
-                                         @Param("appIdList") List<String> appIdList
-    );
-
-    List<YtDyzUser> queryTodayBanned(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("userIdList") List<String> userIdList);
-
-    /**
-     * 查询用户信息
-     */
-    List<YtDyzUser> getUserList(AppUserParam param);
-
-    /**
-     * 根据应用类型查询应用默认配置
-     */
-    WxDefaultConfig getDefaultConfig(@Param("appType") int appType);
-
-    /**
-     * 根据应用ID获取应用secret
-     */
-    String getSecretByAppId(@Param("appId") String appId);
-
-    /**
-     * 根据微信openid查询用户
-     */
-    List<YtDyzUser> queryByOpenid(@Param("openid")String openid);
-
-    /**
-     * 根据设备ID查询平台ID
-     */
-    String getByDeviceId(@Param("deviceId")String deviceId,@Param("openid")String openid);
-
-    /**
-     * 保存应用配置
-     */
-    void saveAppConfig(YtAppDefaultConfig defaultConfig);
-
-    /**
-     * 根据APP_ID获取配置
-     */
-    List<WxDefaultConfig> getConfigByIds(@Param("appIds") String appIds);
-
-    /**
-     * 根据应用统计广告数
-     */
-    int getAdCount(@Param("appIds") String appIds);
-
-    /**
-     * 根据应用统计收益
-     */
-    BigDecimal getRevenueCount(@Param("appIds") String appIds);
-
-    /**
-     * 查询应用排行榜
-     */
-    List<AppRankingListVO> getAppRanking(@Param("sortBy") int sortBy,@Param("limit") int limit);
-
-    /**
-     * 查询用户排行榜数据
-     */
-    List<UserRankingListVO> getUserRanking(@Param("sortBy") int sortBy,@Param("limit") int limit);
-
-    /**
-     * 根据应用查询用户数量
-     */
-    int countUserByAppIds(@Param("appIds")String appIds);
-
-    /**
-     * 根据应用统计预估收益
-     */
-    BigDecimal countRevenueByAppIds(@Param("appIds")String appIds);
-
-    /**
-     * 根据应用查询风控用户数
-     */
-    int countBannedByAppIds(@Param("appIds")String appIds);
-
-    /**
-     * 统计注册用户数
-     */
-    int countRegistryUser(@Param("appId")String appId, @Param("type")int type);
-    /**
-     * 统计登录用户数
-     */
-    int countLoginUser(@Param("appId")String appId, @Param("type")int type);
-
-    /**
-     * 分时统计注册数
-     */
-    List<AppUserHourVO> countRegistryHour(@Param("appId")String appId, @Param("type")int type);
-
-    /**
-     * 分时统计登录
-     */
-    List<AppUserHourVO> countLoginHour(@Param("appId")String appId, @Param("type")int type);
-
-    /**
-     * 根据应用ID删除默认配置
-     */
-    void delByAppId(@Param("appId")String appId);
-
-    void unlockUser(@Param("userIds")String userIds);
-
-    List<YtDyzUser> queryByUserIds(@Param("userIds")String userIds);
-
-    /**
-     * 分类型查询用户当天视频广告
-     */
-    List<AgentAuditCheckVO> queryTodayUserAd(AuditUserParam auditParam);
-
-    List<YtDyzUser> queryUserList(AppUserParam param);
-}

+ 0 - 31
yt-app/app-service/src/main/java/com/ytpm/service/irun/IRunAdService.java

@@ -1,31 +0,0 @@
-package com.ytpm.service.irun;
-
-import com.ytpm.app.param.DyzAdRecordParam;
-import com.ytpm.general.Result;
-import com.ytpm.middle.view.DashboardRankingListVO;
-import com.ytpm.middle.view.DashboardRevenueVO;
-
-import java.math.BigDecimal;
-import java.util.List;
-import java.util.Map;
-
-public interface IRunAdService {
-    /**
-     * 保存广告记录
-     */
-    Result<?> saveRecord(DyzAdRecordParam param);
-
-    /**
-     * 根据应用查询广告数量
-     */
-    Map<String, BigDecimal> getAdCount(String appIds);
-
-    /**
-     * 查询排行榜信息
-     */
-    DashboardRankingListVO queryRankingList(Integer sortBy,Integer limit);
-    /**
-     * 查询各渠道应用收益分时统计
-     */
-    DashboardRevenueVO revenueStatics(String apkIds);
-}

+ 0 - 17
yt-app/app-service/src/main/java/com/ytpm/service/irun/IRunQuestionService.java

@@ -1,17 +0,0 @@
-package com.ytpm.service.irun;
-
-import com.ytpm.app.param.AnswerRecordParam;
-import com.ytpm.app.view.QuestionListView;
-import com.ytpm.general.Result;
-import com.ytpm.general.ResultTable;
-
-public interface IRunQuestionService {
-    /**
-     * 获取题库
-     */
-    ResultTable<QuestionListView> questionList();
-    /**
-     * 回答问题
-     */
-    Result<String> answerQuestion(AnswerRecordParam param);
-}

+ 0 - 18
yt-app/app-service/src/main/java/com/ytpm/service/irun/IRunUserService.java

@@ -1,18 +0,0 @@
-package com.ytpm.service.irun;
-
-import com.ytpm.app.model.YtDyzUser;
-import com.ytpm.app.param.WxLoginParam;
-import com.ytpm.app.view.WxLoginResult;
-import com.ytpm.app.view.WxUserInfo;
-
-public interface IRunUserService {
-    /**
-     * openid查询用户信息
-     */
-    YtDyzUser selectByOpenid(String openid, Long ditchId);
-
-    /**
-     * 子事务处理用户crud
-     */
-    YtDyzUser crudForNewTrans(WxLoginParam param, WxUserInfo wxUserInfo, WxLoginResult loginResult);
-}

+ 0 - 131
yt-app/app-service/src/main/java/com/ytpm/service/irun/impl/IRunAdServiceImpl.java

@@ -1,131 +0,0 @@
-package com.ytpm.service.irun.impl;
-
-import cn.hutool.core.util.IdUtil;
-import com.ytpm.advertise.enums.AdPlatformTypeEnum;
-import com.ytpm.advertise.enums.AdSourceTypeEnum;
-import com.ytpm.agent.enums.UserStatusEnum;
-import com.ytpm.app.model.YtDyzAdRecord;
-import com.ytpm.app.model.YtDyzUser;
-import com.ytpm.app.param.DyzAdRecordParam;
-import com.ytpm.dao.irun.IRunAdRecordMapper;
-import com.ytpm.dao.irun.IRunUserMapper;
-import com.ytpm.feign.RiskFeign;
-import com.ytpm.general.RepMessage;
-import com.ytpm.general.Result;
-import com.ytpm.general.StatusCode;
-import com.ytpm.handle.CustomerException;
-import com.ytpm.middle.view.AppRankingListVO;
-import com.ytpm.middle.view.DashboardRankingListVO;
-import com.ytpm.middle.view.DashboardRevenueVO;
-import com.ytpm.middle.view.UserRankingListVO;
-import com.ytpm.service.irun.IRunAdService;
-import com.ytpm.service.nofeeds.NfAdService;
-import org.springframework.beans.BeanUtils;
-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.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.concurrent.CountDownLatch;
-
-@Service
-public class IRunAdServiceImpl implements IRunAdService {
-
-    @Resource
-    private IRunAdRecordMapper iRunAdRecordMapper;
-    @Resource
-    private IRunUserMapper iRunUserMapper;
-    @Resource
-    private RiskFeign riskFeign;
-
-    /**
-     * 保存广告记录
-     */
-    @Override
-    @Transactional
-    public Result<?> saveRecord(DyzAdRecordParam param) {
-        YtDyzUser user = iRunUserMapper.selectPrimaryKey(param.getUserId());
-        if(Objects.isNull(user)){
-            return Result.resultOk(RepMessage.SAVE_SUCCESS);
-        }
-        if(!UserStatusEnum.NORMAL.getCode().equals(user.getUserStatus())){
-            return new Result<>(StatusCode.ACCESS_ERR,"当前用户处于风控中");
-        }
-        saveRecordAndChangeUser(param, user);
-        //调用风控广告校验
-        if(AdSourceTypeEnum.rewarded_video.getAdSourceType() == param.getAdSourceType()){
-            Result<?> result = riskFeign.checkAdRisk(user);
-            if(result.getCode()!=200){
-                throw new CustomerException(result.getMessage());
-            }
-        }
-        return Result.resultOk(RepMessage.SAVE_SUCCESS);
-    }
-
-    /**
-     * 根据应用查询广告数量
-     */
-    @Override
-    public Map<String, BigDecimal> getAdCount(String appIds) {
-        Map<String, BigDecimal> map = new HashMap<>();
-        //查询这些app的用户统计广告数量相加
-        int adCount = iRunUserMapper.getAdCount(appIds);
-        BigDecimal total = iRunUserMapper.getRevenueCount(appIds);
-        map.put("adCount", BigDecimal.valueOf(adCount));
-        map.put("expectRevenue", total);
-        return map;
-    }
-
-    /**
-     * 查询排行榜信息
-     */
-    @Override
-    public DashboardRankingListVO queryRankingList(Integer sortBy, Integer limit) {
-        //查询前五个应用名称 当日收益  用户数量
-        List<AppRankingListVO> appRankingList = iRunUserMapper.getAppRanking(sortBy,limit);
-        //查询前五个用户  所属应用  视频数 总收益 ecpm
-        List<UserRankingListVO> userRankingList = iRunUserMapper.getUserRanking(sortBy,limit);
-        return new DashboardRankingListVO(appRankingList,userRankingList);
-    }
-
-    /**
-     *  TODO 查询各渠道应用收益分时统计
-     */
-    @Override
-    public DashboardRevenueVO revenueStatics(String apkIds) {
-        //查询出各应用的用户及收益数据
-        List<String> appIdList = Arrays.asList(apkIds.split(","));
-        // 由于子表数据庞大导致range查询低于const
-        CountDownLatch countDownLatch = new CountDownLatch(appIdList.size());
-        return null;
-    }
-
-    /**
-     * 保存记录
-     *  始终创建新的事务以保障子方法的独立事务
-     */
-    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
-    public void saveRecordAndChangeUser(DyzAdRecordParam param,YtDyzUser user) {
-        //增加广告记录
-        YtDyzAdRecord adRecord = new YtDyzAdRecord();
-        if(Objects.isNull(param.getBeginTime())){
-            param.setBeginTime(param.getFinishTime());
-        }
-        BeanUtils.copyProperties(param, adRecord);
-        adRecord.setRecordId(IdUtil.fastSimpleUUID());
-        adRecord.setNetworkName(AdPlatformTypeEnum.getDesc(Integer.parseInt(param.getNetworkFormId())));
-        iRunAdRecordMapper.addOne(adRecord);
-        //修改用户信息, 广告次数+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()));
-        iRunUserMapper.updateUser(dyzUser);
-    }
-}

+ 0 - 70
yt-app/app-service/src/main/java/com/ytpm/service/irun/impl/IRunQuestionServiceImpl.java

@@ -1,70 +0,0 @@
-package com.ytpm.service.irun.impl;
-
-import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.core.util.IdUtil;
-import com.github.pagehelper.PageInfo;
-import com.ytpm.agent.enums.UserStatusEnum;
-import com.ytpm.app.model.YtDyzAnswerRecord;
-import com.ytpm.app.model.YtDyzPowerRecord;
-import com.ytpm.app.model.YtDyzUser;
-import com.ytpm.app.param.AnswerRecordParam;
-import com.ytpm.app.view.QuestionListView;
-import com.ytpm.dao.irun.IRunQuestionMapper;
-import com.ytpm.dao.irun.IRunUserMapper;
-import com.ytpm.general.RepMessage;
-import com.ytpm.general.Result;
-import com.ytpm.general.ResultTable;
-import com.ytpm.general.StatusCode;
-import com.ytpm.service.dyz.QuestionService;
-import com.ytpm.service.irun.IRunQuestionService;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import javax.annotation.Resource;
-import java.util.Date;
-import java.util.Objects;
-
-@Service
-public class IRunQuestionServiceImpl implements IRunQuestionService {
-
-    @Resource
-    private IRunQuestionMapper iRunQuestionMapper;
-    @Resource
-    private IRunUserMapper iRunUserMapper;
-
-    /**
-     * 获取题库
-     */
-    @Override
-    public ResultTable<QuestionListView> questionList() {
-        return ResultTable.resultTableOk(new PageInfo<QuestionListView>(iRunQuestionMapper.questionList("AP_202505210009")));
-    }
-    /**
-     * 回答问题
-     */
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public Result<String> answerQuestion(AnswerRecordParam param) {
-        YtDyzUser user = iRunUserMapper.selectPrimaryKey(param.getUserId());
-        if(Objects.isNull(user)){
-            return Result.resultOk(RepMessage.TOKEN_EXPIRE);
-        }
-        if(!UserStatusEnum.NORMAL.getCode().equals(user.getUserStatus())){
-            return new Result<>(StatusCode.ACCESS_ERR,"当前用户处于风控中");
-        }
-        YtDyzAnswerRecord record = new YtDyzAnswerRecord();
-        BeanUtil.copyProperties(param,record);
-        record.setRecordId(IdUtil.fastSimpleUUID());
-        record.setAnswerTime(new Date());
-        iRunQuestionMapper.saveAnswerRecord(record);
-        iRunUserMapper.subOnePower(param.getUserId());
-        YtDyzPowerRecord powerRecord = new YtDyzPowerRecord();
-        powerRecord.setUserId(param.getUserId());
-        powerRecord.setRecordId(IdUtil.fastSimpleUUID());
-        powerRecord.setAddTime(new Date());
-        powerRecord.setType(1);
-        powerRecord.setRemark("减少体力");
-        iRunUserMapper.addPowerRecord(powerRecord);
-        return Result.resultOk(RepMessage.SAVE_SUCCESS);
-    }
-}

+ 0 - 158
yt-app/app-service/src/main/java/com/ytpm/service/irun/impl/IRunUserServiceImpl.java

@@ -1,158 +0,0 @@
-package com.ytpm.service.irun.impl;
-
-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.app.model.YtDyzLoginRecord;
-import com.ytpm.app.model.YtDyzUser;
-import com.ytpm.app.param.WxLoginParam;
-import com.ytpm.app.view.WxLoginResult;
-import com.ytpm.app.view.WxUserInfo;
-import com.ytpm.constant.StrConstant;
-import com.ytpm.dao.irun.IRunLoginRecordMapper;
-import com.ytpm.dao.irun.IRunQuestionMapper;
-import com.ytpm.dao.irun.IRunUserMapper;
-import com.ytpm.handle.CustomerException;
-import com.ytpm.service.dyz.AppUserService;
-import com.ytpm.service.irun.IRunUserService;
-import com.ytpm.util.RedisService;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.cloud.context.config.annotation.RefreshScope;
-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.util.Date;
-import java.util.Objects;
-
-@Service
-@RefreshScope
-public class IRunUserServiceImpl implements IRunUserService {
-
-    @Resource
-    private IRunUserMapper iRunUserMapper;
-    @Resource
-    private IRunLoginRecordMapper iRunLoginRecordMapper;
-    @Resource
-    private IRunQuestionMapper iRunQuestionMapper;
-    @Resource
-    private RedisService redisService;
-    @Value("${risk.config.banned.tips}")
-    private String tips;
-
-    /**
-     * openid查询用户信息
-     */
-    @Override
-    public YtDyzUser selectByOpenid(String openid,Long ditchId) {
-        return iRunUserMapper.getYtAppUser(openid,ditchId);
-    }
-
-    @Override
-    @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW)
-    public YtDyzUser crudForNewTrans(WxLoginParam param, WxUserInfo wxUserInfo, WxLoginResult loginResult) {
-        //处理用户注册或登录更新信息
-        YtDyzUser old = iRunUserMapper.getYtAppUser(loginResult.getOpenid(), param.getDitchId());
-        if(Objects.isNull(old)) {
-            old = new YtDyzUser();
-            registryUser(param,wxUserInfo,loginResult, old);
-        }else{
-            deadWithUserCrud(old,wxUserInfo,param);
-        }
-        //设置最后一次答题问题ID、今日答题数、历史答题数
-        setExtInfo(old,wxUserInfo.getHeadimgurl());
-        // 添加用户登录记录
-        addLoginRecord(param,old.getUserId());
-        return old;
-    }
-    /**
-     * 设置扩展信息
-     */
-    private void setExtInfo(YtDyzUser old, String headimgurl) {
-        old.setHeadImg(headimgurl);
-            old.setLastQuestionId(iRunQuestionMapper.getLastQuestionId(old.getUserId()));
-        old.setTodayAnswerCount(iRunQuestionMapper.getAnswerCount(old.getUserId(),1));
-        old.setHistoryAnswerCount(iRunQuestionMapper.getAnswerCount(old.getUserId(),2));
-        old.setAnswerRecordList(iRunQuestionMapper.getAnswerRecords(old.getUserId()));
-        old.setLoginRecordList(iRunLoginRecordMapper.getLoginRecords(old.getUserId()));
-    }
-
-    /**
-     * 增加用户登录记录
-     */
-    private void addLoginRecord(WxLoginParam param,String userId) {
-        YtDyzLoginRecord loginRecord = new YtDyzLoginRecord();
-        loginRecord.setRecordId(IdUtil.fastSimpleUUID());
-        loginRecord.setUserId(userId);
-        loginRecord.setLoginTime(new Date());
-        loginRecord.setDeviceBrand(param.getBrand());
-        loginRecord.setDeviceModel(param.getModel());
-        loginRecord.setLoginIp(param.getLoginIp());
-        loginRecord.setOperator(param.getIpOperator());
-        loginRecord.setIpAddr(param.getIpLocation());
-        loginRecord.setPhoneJson(param.getPhoneJson());
-        iRunLoginRecordMapper.insertOne(loginRecord);
-    }
-
-    private String getTipsMsg(){
-        String[] split = tips.split(",");
-        return split[RandomUtil.randomInt(split.length)];
-    }
-    /**
-     * 处理用户数据
-     */
-    private void deadWithUserCrud(YtDyzUser old, WxUserInfo wxUserInfo, WxLoginParam param) {
-        //处于风控状态的用户不允许登录
-        if(!old.getUserStatus().equals(UserStatusEnum.NORMAL.getCode())){
-            throw new CustomerException(getTipsMsg());
-        }
-        YtDyzUser newUser = new YtDyzUser();
-        newUser.setUserId(old.getUserId());
-        newUser.setNickName(wxUserInfo.getNickname());
-        newUser.setHeadImg(wxUserInfo.getHeadimgurl());
-        newUser.setLastLoginTime(new Date());
-        newUser.setLastLoginIp(param.getLoginIp());
-        newUser.setPhone(param.getPhone());
-        newUser.setDeviceId(param.getDeviceId());
-        newUser.setLoginDays(old.getLoginDays()+1);
-        iRunUserMapper.updateUser(newUser);
-    }
-
-
-
-    /**
-     * 注册用户
-     */
-    private void registryUser(WxLoginParam param,WxUserInfo wxUserInfo,WxLoginResult loginResult, YtDyzUser old) {
-        old.setUserId(redisService.getAppUserId());
-        old.setPhone(param.getPhone());
-        old.setDeviceId(param.getDeviceId());
-        old.setNickName(wxUserInfo.getNickname());
-        old.setLastLoginTime(new Date());
-        old.setRegistryTime(new Date());
-        old.setLastLoginIp(param.getLoginIp());
-        old.setLoginDays(1);
-        old.setPower(0);
-        old.setTotalVideo(0);
-        old.setTotalIncome(BigDecimal.ZERO);
-        old.setRedPacketAmount(BigDecimal.ZERO);
-        old.setRedPacketBalance(BigDecimal.ZERO);
-        old.setPointsBalance(BigDecimal.ZERO);
-        old.setPointsTotal(BigDecimal.ZERO);
-        old.setWithdrawTotal(BigDecimal.ZERO);
-        old.setDitchId(param.getDitchId());
-        old.setSignDays(0);
-        old.setAppId(param.getAppId());
-        old.setUserStatus(UserStatusEnum.NORMAL.getCode());
-        old.setWxOpenId(loginResult.getOpenid());
-        old.setHeadImg(wxUserInfo.getHeadimgurl());
-        //根据设备ID获取平台ID 获取不到再生成平台ID
-        String platformId = iRunUserMapper.getByDeviceId(param.getDeviceId(),wxUserInfo.getOpenid());
-        old.setPlatformId(StrUtil.isBlank(platformId)?
-                (StrConstant.PLATFORM_ID_PREFIX + IdUtil.getSnowflakeNextIdStr()):platformId);
-        iRunUserMapper.addOne(old);
-    }
-}

+ 0 - 204
yt-app/app-service/src/main/resources/mapper/irun/IRunAdRecordMapper.xml

@@ -1,204 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ytpm.dao.irun.IRunAdRecordMapper">
-    <insert id="addOne">
-        insert into yt_dyz_ad_record
-        (
-            record_id,
-            user_id,
-            nick_name,
-            placement_id,
-            ad_source_id,
-            revenue,
-            network_form_id,
-            network_name,
-            network_placement_id,
-            begin_time,
-            finish_time,
-            result_json,
-            ad_source_index,
-            ad_source_type,
-            ecpm,
-            app_id
-        )
-        values
-            (
-                #{recordId},
-                #{userId},
-                #{nickName},
-                #{placementId},
-                #{adSourceId},
-                #{revenue},
-                #{networkFormId},
-                #{networkName},
-                #{networkPlacementId},
-                #{beginTime},
-                #{finishTime},
-                #{resultJson},
-                #{adSourceIndex},
-                #{adSourceType},
-                #{ecpm},
-                #{appId}
-            )
-    </insert>
-    <select id="getByUserId" 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
-        from yt_dyz_ad_record
-        where user_id = #{userId}
-        <if test="adsourceType != null">
-            and ad_source_type = #{adsourceType}
-        </if>
-        order by finish_time desc
-    </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
-        from yt_dyz_ad_record
-        where user_id in
-        <foreach collection="userIds.split(',')" open="(" close=")" separator="," item="item">
-            #{item}
-        </foreach>
-        order by finish_time
-    </select>
-    <select id="countByAppIds" resultType="java.lang.Integer">
-        select
-        count(record_id)
-        from yt_dyz_ad_record
-        where ad_source_type = 1 and app_id in
-        <foreach collection="appIds.split(',')" separator="," item="item" open="(" close=")">
-            #{item}
-        </foreach>
-    </select>
-    <select id="getRevenueByTime" resultType="java.math.BigDecimal">
-        select
-        sum(ar.revenue)
-        from yt_dyz_ad_record ar
-        join yt_dyz_user au on ar.user_id = au.user_id
-        <where>
-            <if test="userId != null and userId !=''">
-                and ar.user_id = #{userId}
-            </if>
-            <if test="nickName != null and nickName !=''">
-                and au.nick_name like concat('%',#{nickName},'%')
-            </if>
-            <if test="ditchId != null">
-                and au.ditch_id = #{ditchId}
-            </if>
-            <if test="userStatus != null">
-                and au.user_status = #{userStatus}
-            </if>
-            <if test="appIds != null and appIds != ''">
-                and ar.app_id in
-                <foreach collection="appIds.split(',')" separator="," item="item" open="(" close=")">
-                    #{item}
-                </foreach>
-            </if>
-            <if test="registryTimeBegin != null ">
-                and DATE_FORMAT(au.registry_time,'%Y-%m-%d') <![CDATA[>=]]> #{registryTimeBegin}
-            </if>
-            <if test="registryTimeEnd != null ">
-                and DATE_FORMAT(au.registry_time,'%Y-%m-%d') <![CDATA[<=]]> #{registryTimeEnd}
-            </if>
-        </where>
-    </select>
-    <select id="getRevenueByIds" resultType="com.ytpm.middle.view.NetWorkRevenueVO">
-        SELECT
-        network_form_id networkId,
-        network_name networkName,
-        sum( revenue ) netWorkRevenue
-        FROM
-        yt_dyz_ad_record
-        WHERE
-        network_form_id in
-        <foreach collection="networkIds.split(',')" separator="," item="item" open="(" close=")">
-            #{item}
-        </foreach>
-        and app_id in
-        <foreach collection="appIds.split(',')" separator="," item="item" open="(" close=")">
-            #{item}
-        </foreach>
-        <if test="type != null and type ==1">
-            and DATE(finish_time) = DATE(now())
-        </if>
-        <if test="type != null and type ==2">
-            and DATE(finish_time) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
-        </if>
-        <if test="type != null and type ==3">
-            and DATE_FORMAT(finish_time, '%Y-%m') = DATE_FORMAT(CURDATE(), '%Y-%m')
-        </if>
-        group by networkId
-    </select>
-    <select id="getEcpmByIds" resultType="com.ytpm.middle.view.NetWorkEcpmVO">
-        SELECT
-        network_form_id netWorkId,
-        network_name netWorkName,
-        avg( ecpm ) networkEcpm
-        FROM
-        yt_dyz_ad_record
-        WHERE
-        network_form_id in
-        <foreach collection="networkIds.split(',')" separator="," item="item" open="(" close=")">
-            #{item}
-        </foreach>
-        and app_id in
-        <foreach collection="appIds.split(',')" separator="," item="item" open="(" close=")">
-            #{item}
-        </foreach>
-        <if test="type != null and type ==1">
-            and DATE(finish_time) = DATE(now())
-        </if>
-        <if test="type != null and type ==2">
-            and DATE(finish_time) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
-        </if>
-        <if test="type != null and type ==3">
-            and DATE_FORMAT(finish_time, '%Y-%m') = DATE_FORMAT(CURDATE(), '%Y-%m')
-        </if>
-        group by netWorkId
-    </select>
-    <resultMap id="AdGroupStaticsMap" type="com.ytpm.agent.view.AgentAdGroupStaticsVO">
-        <id column="network_form_id" property="netowrkId" />
-        <result column="network_name" property="netowrkName" />
-        <collection property="networkEcpmGroups" ofType="com.ytpm.agent.view.AgentNetworkEcpmGroupVO">
-            <result column="count" property="count" />
-            <result column="hour" property="hour" />
-            <result column="ecpm" property="ecpm" />
-            <result column="ad_source_type" property="adSourceType" />
-        </collection>
-        <collection property="networkRevenueGroups" ofType="com.ytpm.agent.view.AgentNetworkRevenueGroupVO">
-            <result column="count" property="count" />
-            <result column="hour" property="hour" />
-            <result column="revenue" property="revenue" />
-            <result column="ad_source_type" property="adSourceType" />
-        </collection>
-    </resultMap>
-    <select id="getTodayRecord" resultType="com.ytpm.app.model.YtDyzAdRecord">
-        select
-        record_id, user_id, app_id, nick_name, placement_id, ad_source_id, ad_source_type, ad_source_index, revenue, ecpm, network_form_id, network_name, network_placement_id, finish_time, begin_time, result_json
-        from yt_dyz_ad_record
-        where app_id in
-        <foreach collection="appIds.split(',')" separator="," item="item" open="(" close=")">
-            #{item}
-        </foreach>
-        and DATE_FORMAT(finish_time, '%Y-%m-%d') = current_date()
-    </select>
-    <select id="getAdGroupStatics" resultMap="AdGroupStaticsMap">
-        SELECT
-        network_form_id,
-        network_name,
-        count(*) count,
-        DATE_FORMAT(finish_time,'%Y-%m-%d %H:00:00') as `hour`,
-        sum( revenue ) revenue,
-        sum( ecpm ) ecpm,
-        ad_source_type
-        FROM
-        yt_dyz_ad_record
-        WHERE
-        app_id in
-        <foreach collection="appIds.split(',')" separator="," item="item" open="(" close=")">
-            #{item}
-        </foreach>
-        AND DATE( finish_time ) = DATE(now())
-        group by network_form_id,`hour`
-    </select>
-</mapper>

+ 0 - 74
yt-app/app-service/src/main/resources/mapper/irun/IRunLoginRecordMapper.xml

@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ytpm.dao.irun.IRunLoginRecordMapper">
-
-    <insert id="insertOne" parameterType="com.ytpm.app.model.YtDyzLoginRecord">
-        insert into yt_dyz_login_record
-        (
-         record_id,
-         user_id,
-         login_time,
-         device_brand,
-         device_model,
-         login_ip,
-         operator,
-         ip_addr,
-         phone_json
-        )
-        values
-        (
-         #{recordId},
-         #{userId},
-         #{loginTime},
-         #{deviceBrand},
-         #{deviceModel},
-         #{loginIp},
-         #{operator},
-         #{ipAddr},
-         #{phoneJson}
-         );
-    </insert>
-    <select id="getLoginRecords" resultType="com.ytpm.app.model.YtDyzLoginRecord">
-        select
-            record_id, user_id, login_time, device_brand, device_model, login_ip, operator, ip_addr
-        from yt_dyz_login_record
-        where user_id = #{userId}
-    </select>
-    <select id="getLoginRecordByIds" resultType="com.ytpm.app.model.YtDyzLoginRecord">
-        select
-        record_id, user_id, login_time, device_brand, device_model, login_ip, operator, ip_addr
-        from yt_dyz_login_record
-        where user_id in
-        <foreach collection="userIds.split(',')" open="(" close=")" separator="," item="item">
-            #{item}
-        </foreach>
-    </select>
-    <select id="queryLoginCount" resultType="String">
-        select ydlr.user_id
-        from yt_dyz_login_record ydlr
-        left join yt_dyz_user ydu on ydlr.user_id=ydu.user_id
-        <where>
-            <if test="startTime != null">
-                AND ydlr.login_time >= #{startTime}
-            </if>
-            <if test="endTime != null">
-                AND ydlr.login_time &lt;= #{endTime}
-            </if>
-            <choose>
-                <when test="appIdList == null or appIdList.isEmpty()">
-                    AND 1 = 0
-                </when>
-                <otherwise>
-                    AND ydu.app_id IN
-                    <foreach collection="appIdList" item="item"
-                             open="(" close=")" separator=",">
-                        #{item}
-                    </foreach>
-                </otherwise>
-            </choose>
-        </where>
-        group by user_id
-    </select>
-
-
-</mapper>

+ 0 - 59
yt-app/app-service/src/main/resources/mapper/irun/IRunQuestionMapper.xml

@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ytpm.dao.irun.IRunQuestionMapper">
-
-    <resultMap id="questionListMap" type="com.ytpm.app.view.QuestionListView">
-        <id column="question_id" property="questionId" />
-        <result column="question_content" property="questionContent" />
-        <result column="question_reward" property="questionReward" />
-        <result column="correct_item" property="correctItem" />
-        <collection property="itemList" ofType="com.ytpm.app.view.QuestionItemListView">
-            <id column="item_id" property="itemId" />
-            <result column="item_header" property="itemHeader" />
-            <result column="item_content" property="itemContent" />
-            <result column="question_id" property="questionId" />
-        </collection>
-    </resultMap>
-    <insert id="saveAnswerRecord">
-        insert into yt_dyz_answer_record (record_id, question_id, item_id, duration, answer_time, user_id)
-        values (#{recordId},#{questionId},#{itemId},#{duration},#{answerTime},#{userId});
-    </insert>
-    <select id="questionList" resultMap="questionListMap">
-        SELECT
-            ydq.question_id,
-            ydq.question_content,
-            ydq.question_reward,
-            ydq.correct_item,
-            ydqi.item_id,
-            ydqi.item_header,
-            ydqi.item_content,
-            ydqi.question_id
-        FROM yt_dyz_question ydq
-        LEFT JOIN yt_dyz_question_item ydqi
-        ON ydq.question_id = ydqi.question_id
-        where app_id = #{appId}
-    </select>
-    <select id="getLastQuestionId" resultType="java.lang.String">
-        select
-            question_id
-        from yt_dyz_answer_record
-        where user_id = #{userId}
-        order by answer_time desc limit 1
-    </select>
-    <select id="getAnswerCount" resultType="java.lang.Integer">
-        select
-            count(*)
-        from yt_dyz_answer_record
-        where user_id = #{userId}
-        <if test="type != null and type == 1">
-            and DATE_FORMAT(answer_time, '%Y-%m-%d') = current_date()
-        </if>
-    </select>
-    <select id="getAnswerRecords" resultType="com.ytpm.app.model.YtDyzAnswerRecord">
-        select
-            record_id, question_id, item_id, duration, answer_time, user_id
-        from yt_dyz_answer_record
-        where user_id = #{userId}
-        order by answer_time desc
-    </select>
-</mapper>

+ 0 - 595
yt-app/app-service/src/main/resources/mapper/irun/IRunUserMapper.xml

@@ -1,595 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ytpm.dao.irun.IRunUserMapper">
-    <insert id="addOne" parameterType="com.ytpm.app.model.YtDyzUser">
-        insert into yt_dyz_user
-        (
-            user_id,
-            nick_name,
-            head_img,
-            registry_time,
-            last_login_time,
-            last_login_ip,
-            login_days,
-            total_video,
-            total_income,
-            red_packet_balance,
-            red_packet_amount,
-            points_balance,
-            points_total,
-            withdraw_total,
-            sign_days,
-            user_status,
-            risk_reason,
-            wx_open_id,
-            ditch_id,
-            platform_id,
-            app_id,
-            power,
-            phone,
-            device_id
-        )
-        values
-            (
-                #{userId},
-                #{nickName},
-                #{headImg},
-                #{registryTime},
-                #{lastLoginTime},
-                #{lastLoginIp},
-                #{loginDays},
-                #{totalVideo},
-                #{totalIncome},
-                #{redPacketBalance},
-                #{redPacketAmount},
-                #{pointsBalance},
-                #{pointsTotal},
-                #{withdrawTotal},
-                #{signDays},
-                #{userStatus},
-                #{riskReason},
-                #{wxOpenId},
-                #{ditchId},
-                #{platformId},
-                #{appId},
-                #{power},
-                #{phone},
-                #{deviceId}
-            )
-    </insert>
-    <insert id="addPowerRecord">
-        insert into yt_dyz_power_record
-        (
-            record_id, user_id, type, remark, add_time
-        )
-        values
-            (
-                #{recordId},#{userId},#{type},#{remark},#{addTime}
-            )
-    </insert>
-    <insert id="saveAppConfig">
-        insert into yt_app_default_config
-        (
-            config_name,
-            open_id,
-            secret,
-            app_id,
-            app_key,
-            app_type
-        )
-        values
-            (
-                #{configName},
-                #{openId},
-                #{secret},
-                #{appId},
-                #{appKey},
-                #{appType}
-            )
-    </insert>
-    <update id="addOnePower">
-        update yt_dyz_user set power = power+1 where user_id = #{userId}
-    </update>
-    <update id="subOnePower">
-        update yt_dyz_user set power = power-1 where user_id = #{userId}
-    </update>
-    <update id="updateUser" parameterType="com.ytpm.app.model.YtDyzUser">
-        update yt_dyz_user
-        <set>
-            <if test="nickName != null">
-                nick_name = #{nickName},
-            </if>
-            <if test="phone != null">
-                phone = #{phone},
-            </if>
-            <if test="deviceId != null">
-                device_id = #{deviceId},
-            </if>
-            <if test="headImg != null">
-                head_img = #{headImg},
-            </if>
-            <if test="power != null">
-                power = #{power},
-            </if>
-            <if test="lastLoginTime != null">
-                last_login_time = #{lastLoginTime},
-            </if>
-            <if test="lastLoginIp != null">
-                last_login_ip = #{lastLoginIp},
-            </if>
-            <if test="loginDays != null">
-                login_days = #{loginDays},
-            </if>
-            <if test="totalVideo != null">
-                total_video = #{totalVideo},
-            </if>
-            <if test="totalIncome != null">
-                total_income = #{totalIncome},
-            </if>
-            <if test="redPacketBalance != null">
-                red_packet_balance = #{redPacketBalance},
-            </if>
-            <if test="redPacketAmount != null">
-                red_packet_amount = #{redPacketAmount},
-            </if>
-            <if test="pointsBalance != null">
-                points_balance = #{pointsBalance},
-            </if>
-            <if test="pointsTotal != null">
-                points_total = #{pointsTotal},
-            </if>
-            <if test="withdrawTotal != null">
-                withdraw_total = #{withdrawTotal},
-            </if>
-            <if test="signDays != null">
-                sign_days = #{signDays},
-            </if>
-            <if test="userStatus != null">
-                user_status = #{userStatus},
-            </if>
-            <if test="riskReason != null">
-                risk_reason = #{riskReason},
-            </if>
-            <if test="wxOpenId != null">
-                wx_open_id = #{wxOpenId},
-            </if>
-            <if test="platformId != null">
-                platform_id = #{platformId}
-            </if>
-        </set>
-        where user_id = #{userId}
-    </update>
-    <delete id="delByAppId">
-        delete from yt_app_default_config where app_id = #{appId}
-    </delete>
-    <select id="getYtAppUser" resultType="com.ytpm.app.model.YtDyzUser">
-        select
-            user_id, app_id,phone,device_id, ditch_id, nick_name,head_img, power, registry_time, last_login_time, last_login_ip, login_days, total_video, total_income, red_packet_balance, red_packet_amount, points_balance, points_total, withdraw_total, sign_days, user_status, risk_reason, wx_open_id, platform_id
-        from yt_dyz_user
-        where wx_open_id = #{openid}
-          and ditch_id = #{ditchId}
-    </select>
-    <select id="queryAll" resultType="com.ytpm.app.view.YtAppUserListView">
-        select
-        user_id,app_id,phone,device_id, ditch_id, nick_name,head_img, power, registry_time, last_login_time, last_login_ip, login_days, total_video, total_income, red_packet_balance, red_packet_amount, points_balance, points_total, withdraw_total, sign_days, user_status, risk_reason, wx_open_id, platform_id
-        from yt_dyz_user
-        where 1 = 1
-        <if test="userId != null and userId !=''">
-            and user_id = #{userId}
-        </if>
-        <if test="nickName != null and nickName !=''">
-            and nick_name like concat('%',#{nickName},'%')
-        </if>
-        <if test="ditchId != null">
-            and ditch_id = #{ditchId}
-        </if>
-        <if test="userStatus != null">
-            and user_status = #{userStatus}
-        </if>
-        <if test="registryTimeBegin != null">
-            and DATE_FORMAT(registry_time, '%Y-%m-%d') <![CDATA[>=]]> DATE_FORMAT(#{registryTimeBegin}, '%Y-%m-%d')
-        </if>
-        <if test="registryTimeEnd != null">
-            and DATE_FORMAT(registry_time, '%Y-%m-%d') <![CDATA[<=]]> DATE_FORMAT(#{registryTimeEnd}, '%Y-%m-%d')
-        </if>
-        <if test="lastLoginTimeBegin != null">
-            and DATE_FORMAT(last_login_time, '%Y-%m-%d') <![CDATA[>=]]> DATE_FORMAT(#{lastLoginTimeBegin}, '%Y-%m-%d')
-        </if>
-        <if test="lastLoginTimeEnd != null">
-            and DATE_FORMAT(last_login_time, '%Y-%m-%d') <![CDATA[<=]]> DATE_FORMAT(#{lastLoginTimeEnd}, '%Y-%m-%d')
-        </if>
-        <if test="appIds != null and appIds != ''">
-            and app_id in
-            <foreach collection="appIds.split(',')" separator="," item="item" open="(" close=")">
-                #{item}
-            </foreach>
-        </if>
-        order by user_id desc
-    </select>
-    <select id="selectPrimaryKey" resultType="com.ytpm.app.model.YtDyzUser">
-        select
-            user_id,app_id,phone,device_id, ditch_id, head_img, nick_name, registry_time, last_login_time, last_login_ip, login_days, total_video, total_income, red_packet_balance, red_packet_amount, points_balance, points_total, withdraw_total, sign_days, user_status, risk_reason, wx_open_id, platform_id, power
-        from yt_dyz_user
-        where user_id = #{userId}
-    </select>
-    <select id="getUserList" resultType="com.ytpm.app.model.YtDyzUser">
-        select
-        du.user_id,
-        du.head_img,
-        du.nick_name,
-        du.phone,
-        du.device_id,
-        du.registry_time,
-        du.last_login_time,
-        du.last_login_ip,
-        du.login_days,
-        du.total_video,
-        du.total_income,
-        du.red_packet_balance,
-        du.red_packet_amount,
-        du.points_balance,
-        du.points_total,
-        du.withdraw_total,
-        du.sign_days,
-        du.user_status,
-        du.risk_reason,
-        du.wx_open_id,
-        du.ditch_id,
-        du.app_id,
-        du.platform_id,
-        du.power
-        from yt_dyz_user du
-        where du.user_id in
-        <foreach collection="userIds.split(',')" item="item" separator="," open="(" close=")">
-            #{item}
-        </foreach>
-    </select>
-
-    <select id="queryAllByTime" resultType="com.ytpm.app.model.YtDyzUser">
-        SELECT
-        user_id,app_id,phone,device_id, nick_name, head_img, power, registry_time,
-        last_login_time, last_login_ip, login_days, total_video,
-        total_income, red_packet_balance, red_packet_amount,
-        points_balance, points_total, withdraw_total, sign_days,
-        user_status, risk_reason, wx_open_id, platform_id
-        FROM yt_dyz_user
-        <where>
-            <if test="startTime != null">
-                AND registry_time >= #{startTime}
-            </if>
-            <if test="endTime != null">
-                AND registry_time &lt;= #{endTime}
-            </if>
-            <choose>
-                <when test="appIdList == null or appIdList.isEmpty()">
-                    AND 1 = 0
-                </when>
-                <otherwise>
-                    AND app_id IN
-                    <foreach collection="appIdList" item="item"
-                             open="(" close=")" separator=",">
-                        #{item}
-                    </foreach>
-                </otherwise>
-            </choose>
-        </where>
-        ORDER BY registry_time DESC
-    </select>
-    <select id="countUsersByHour" resultType="com.ytpm.app.view.HourCountView">
-        SELECT HOUR(registry_time) AS hour, COUNT(*) AS count
-        FROM yt_dyz_user
-        WHERE registry_time BETWEEN #{startTime} AND #{endTime}
-        <choose>
-            <when test="appIdList == null or appIdList.isEmpty()">
-                AND 1 = 0
-            </when>
-            <otherwise>
-                AND app_id IN
-                <foreach collection="appIdList" item="item"
-                         open="(" close=")" separator=",">
-                    #{item}
-                </foreach>
-            </otherwise>
-        </choose>
-        GROUP BY HOUR(registry_time)
-    </select>
-
-    <select id="queryTodayBanned" resultType="com.ytpm.app.model.YtDyzUser">
-        select user_id from yt_dyz_user
-        where registry_time BETWEEN #{startTime} AND #{endTime}
-        and user_id in
-        <foreach collection="userIdList" item="item"
-                 open="(" close=")" separator=",">
-            #{item}
-        </foreach>
-    </select>
-
-
-    <select id="getDefaultConfig" resultType="com.ytpm.app.view.WxDefaultConfig">
-        select
-            config_id, config_name, open_id appId, secret, app_id platformAppId, app_key platformAppSecret, app_type,user_path,login_path,ad_path,answer_path,power_path
-        from yt_app_default_config
-        where app_type = #{appType}
-    </select>
-    <select id="getSecretByAppId" resultType="java.lang.String">
-        select
-            secret
-        from yt_app_default_config
-        where app_id = #{appId}
-    </select>
-    <select id="queryByOpenid" resultType="com.ytpm.app.model.YtDyzUser">
-        select
-            user_id,phone,device_id, head_img, nick_name, registry_time, last_login_time, last_login_ip, login_days, total_video, total_income, red_packet_balance, red_packet_amount, points_balance, points_total, withdraw_total, sign_days, user_status, risk_reason, wx_open_id, ditch_id, app_id, platform_id, power
-        from yt_dyz_user
-        where wx_open_id = #{openid}
-    </select>
-    <select id="getByDeviceId" resultType="java.lang.String">
-        select
-            platform_id
-        from yt_dyz_user
-        where device_id = #{deviceId}
-          and wx_open_id = #{openid}
-        limit 1
-    </select>
-    <select id="getConfigByIds" resultType="com.ytpm.app.view.WxDefaultConfig">
-        select
-        config_id, config_name, open_id, secret, app_id, app_key, app_type,user_path,login_path,ad_path,answer_path,power_path
-        from yt_app_default_config
-        where app_id in
-        <foreach collection="appIds.split(',')" item="item" separator="," open="(" close=")">
-            #{item}
-        </foreach>
-    </select>
-    <select id="getAdCount" resultType="java.lang.Integer">
-        select
-        sum(total_video)
-        from yt_dyz_user
-        where app_id in
-        <foreach collection="appIds.split(',')" separator="," item="item" open="(" close=")">
-            #{item}
-        </foreach>
-    </select>
-    <select id="getRevenueCount" resultType="java.math.BigDecimal">
-        select
-        sum(total_income)
-        from yt_dyz_user
-        where app_id in
-        <foreach collection="appIds.split(',')" separator="," item="item" open="(" close=")">
-            #{item}
-        </foreach>
-    </select>
-    <select id="getAppRanking" resultType="com.ytpm.middle.view.AppRankingListVO">
-        SELECT
-        u.app_id,
-        sum( ar.revenue ) totalRevenue
-        FROM
-        yt_dyz_ad_record ar
-        JOIN yt_dyz_user u ON ar.user_id = u.user_id
-        <where>
-            <if test="sortBy != null">
-                <choose>
-                    <when test="sortBy == 1">
-                        DATE_FORMAT( ar.finish_time, '%Y-%m-%d' ) = CURRENT_DATE()
-                    </when>
-                    <when test=" sortBy == 2">
-                        YEARWEEK( ar.finish_time, 1 ) = YEARWEEK(now(),1)
-                    </when>
-                    <otherwise>
-                        DATE_FORMAT( ar.finish_time, '%Y-%m' ) = DATE_FORMAT(NOW(), '%Y-%m')
-                    </otherwise>
-                </choose>
-            </if>
-        </where>
-        GROUP BY
-        u.app_id
-        ORDER BY
-        sum( ar.revenue ) DESC
-        LIMIT #{limit}
-    </select>
-    <select id="countUserByAppIds" resultType="java.lang.Integer">
-        select
-        count(user_id)
-        from yt_dyz_user
-        where app_id in
-        <foreach collection="appIds.split(',')" separator="," item="item" open="(" close=")">
-            #{item}
-        </foreach>
-    </select>
-    <select id="countRevenueByAppIds" resultType="java.math.BigDecimal">
-        select
-        sum(total_income)
-        from yt_dyz_user
-        where app_id in
-        <foreach collection="appIds.split(',')" separator="," item="item" open="(" close=")">
-            #{item}
-        </foreach>
-    </select>
-    <select id="countBannedByAppIds" resultType="java.lang.Integer">
-        select
-        count(user_id)
-        from yt_dyz_user
-        where user_status > 1 and app_id in
-        <foreach collection="appIds.split(',')" separator="," item="item" open="(" close=")">
-            #{item}
-        </foreach>
-    </select>
-    <select id="getUserRanking" resultType="com.ytpm.middle.view.UserRankingListVO">
-        SELECT
-        u.user_id,
-        u.nick_name,
-        u.head_img,
-        u.total_video,
-        sum( ar.revenue ) totalIncome
-        FROM
-        yt_dyz_ad_record ar
-        JOIN yt_dyz_user u ON ar.user_id = u.user_id
-        <where>
-            <if test="sortBy != null">
-                <choose>
-                    <when test="sortBy == 1">
-                        DATE_FORMAT( ar.finish_time, '%Y-%m-%d' ) = CURRENT_DATE()
-                    </when>
-                    <when test=" sortBy == 2">
-                        YEARWEEK( ar.finish_time, 1 ) = YEARWEEK(now(),1)
-                    </when>
-                    <otherwise>
-                        DATE_FORMAT( ar.finish_time, '%Y-%m' ) = DATE_FORMAT(NOW(), '%Y-%m')
-                    </otherwise>
-                </choose>
-            </if>
-        </where>
-        GROUP BY ar.user_id
-        ORDER BY
-        sum( ar.revenue ) DESC
-        limit #{limit}
-    </select>
-    <select id="queryByUserIds" resultType="com.ytpm.app.model.YtDyzUser">
-        select
-        user_id, head_img, nick_name, registry_time, last_login_time, last_login_ip, login_days, total_video, total_income, red_packet_balance, red_packet_amount, points_balance, points_total, withdraw_total, sign_days, user_status, risk_reason, wx_open_id, ditch_id, app_id, platform_id, power, phone, device_id
-        from yt_dyz_user
-        where user_id in
-        <foreach collection="userIds.split(',')" separator="," item="item"  open="(" close=")">
-            #{item}
-        </foreach>
-    </select>
-    <update id="unlockUser">
-        update yt_dyz_user
-        set user_status = 1
-        where user_status > 1
-        and user_id in
-        <foreach collection="userIds.split(',')" item="item" separator="," open="(" close=")">
-            #{item}
-        </foreach>
-    </update>
-    <resultMap id="UserMap" type="com.ytpm.app.model.YtDyzUser">
-        <id column="user_id" property="userId" />
-        <result column="head_img" property="headImg" />
-        <result column="nick_name" property="nickName" />
-        <result column="phone" property="phone" />
-        <result column="device_id" property="deviceId" />
-        <result column="registry_time" property="registryTime" />
-        <result column="last_login_time" property="lastLoginTime" />
-        <result column="last_login_ip" property="lastLoginIp" />
-        <result column="login_days" property="loginDays" />
-        <result column="total_video" property="totalVideo" />
-        <result column="total_income" property="totalIncome" />
-        <result column="red_packet_balance" property="redPacketBalance" />
-        <result column="red_packet_amount" property="redPacketAmount" />
-        <result column="points_balance" property="pointsBalance" />
-        <result column="points_total" property="pointsTotal" />
-        <result column="withdraw_total" property="withdrawTotal" />
-        <result column="sign_days" property="signDays" />
-        <result column="user_status" property="userStatus" />
-        <result column="risk_reason" property="riskReason" />
-        <result column="wx_open_id" property="wxOpenId" />
-        <result column="ditch_id" property="ditchId" />
-        <result column="app_id" property="appId" />
-        <result column="platform_id" property="platformId" />
-        <result column="power" property="power" />
-        <collection property="loginRecordList" ofType="com.ytpm.app.model.YtDyzLoginRecord">
-            <result column="record_id" property="recordId" />
-            <result column="user_id" property="userId" />
-            <result column="login_time" property="loginTime" />
-            <result column="device_brand" property="deviceBrand" />
-            <result column="device_model" property="deviceModel" />
-            <result column="login_ip" property="loginIp" />
-            <result column="operator" property="operator" />
-            <result column="ip_addr" property="ipAddr" />
-        </collection>
-    </resultMap>
-    <select id="queryUserList" resultMap="UserMap">
-        select
-        du.user_id,
-        du.head_img,
-        du.nick_name,
-        du.phone,
-        du.device_id,
-        du.registry_time,
-        du.last_login_time,
-        du.last_login_ip,
-        du.login_days,
-        du.total_video,
-        du.total_income,
-        du.red_packet_balance,
-        du.red_packet_amount,
-        du.points_balance,
-        du.points_total,
-        du.withdraw_total,
-        du.sign_days,
-        du.user_status,
-        du.risk_reason,
-        du.wx_open_id,
-        du.ditch_id,
-        du.app_id,
-        du.platform_id,
-        du.power,
-        lr.record_id,
-        lr.login_time,
-        lr.device_brand,
-        lr. device_model,
-        lr.login_ip,
-        lr.operator,
-        lr.ip_addr
-        from yt_dyz_user du
-        left join yt_dyz_login_record lr on du.user_id = lr.user_id
-        <where>
-            <if test="userIds != null and userIds != ''">
-                and du.user_id in
-                <foreach collection="userIds.split(',')" item="item" separator="," open="(" close=")">
-                    #{item}
-                </foreach>
-            </if>
-            <if test="loginTimeBegin != null">
-                and du.last_login_time <![CDATA[>=]]> #{loginTimeBegin}
-            </if>
-            <if test="loginTimeEnd != null">
-                and du.last_login_time <![CDATA[<=]]> #{loginTimeEnd}
-            </if>
-        </where>
-        group by du.user_id
-    </select>
-    <resultMap id="UserAdMap" type="com.ytpm.agent.view.AgentAuditCheckVO">
-        <id column="user_id" property="userId" />
-        <result column="app_id" property="appId" />
-        <result column="nick_name" property="nickName" />
-        <collection property="adRecordList" ofType="com.ytpm.app.model.YtDyzAdRecord">
-            <result column="record_id" property="recordId" />
-            <result column="placement_id" property="placementId" />
-            <result column="ad_source_id" property="adSourceId" />
-            <result column="ad_source_type" property="adSourceType" />
-            <result column="ad_source_index" property="adSourceIndex" />
-            <result column="revenue" property="revenue" />
-            <result column="ecpm" property="ecpm" />
-            <result column="network_form_id" property="networkFormId" />
-            <result column="network_name" property="networkName" />
-            <result column="network_placement_id" property="networkPlacementId" />
-            <result column="finish_time" property="finishTime" />
-            <result column="begin_time" property="beginTime" />
-        </collection>
-    </resultMap>
-    <select id="queryTodayUserAd" resultMap="UserAdMap">
-        select
-        u.user_id,
-        u.app_id,
-        u.nick_name,
-        ar.record_id,
-        ar.placement_id,
-        ar.ad_source_id,
-        ar.ad_source_type,
-        ar.ad_source_index,
-        ar.revenue,
-        ar.ecpm,
-        ar.network_form_id,
-        ar.network_name,
-        ar.network_placement_id,
-        ar.finish_time,
-        ar.begin_time
-        from yt_dyz_ad_record ar
-        join yt_dyz_user u on ar.user_id = u.user_id
-        where ar.ad_source_type = #{adSourceType} and ar.app_id = #{appId} and ar.user_id in
-        <foreach collection="userIds.split(',')" separator="," item="item" open="(" close=")">
-            #{item}
-        </foreach>
-        and DATE_FORMAT(ar.finish_time, '%Y-%m-%d') = current_date()
-    </select>
-</mapper>