package com.microservices.dms.behaviorImage.service;

import com.microservices.dms.achievementLibrary.domain.KeyValueVo;
import com.microservices.dms.behaviorImage.domain.*;

import java.util.List;

public interface IBehaviorImageService {
    AchievementImageVo getAchievementImageById(Long id);
    /**
     * 查询画像行为权重
     *
     * @param id 画像行为权重主键
     * @return 画像行为权重
     */
    public BehaviorImageWeight selectBehaviorImageWeightById(Long id);

    /**
     * 查询画像行为权重列表
     *
     * @param behaviorImageWeight 画像行为权重
     * @return 画像行为权重集合
     */
    public List<BehaviorImageWeight> selectBehaviorImageWeightList(BehaviorImageWeight behaviorImageWeight);

    /**
     * 新增画像行为权重
     *
     * @param behaviorImageWeight 画像行为权重
     * @return 结果
     */
    public int insertBehaviorImageWeight(BehaviorImageWeight behaviorImageWeight);

    /**
     * 修改画像行为权重
     *
     * @param behaviorImageWeight 画像行为权重
     * @return 结果
     */
    public int updateBehaviorImageWeight(BehaviorImageWeight behaviorImageWeight);

    /**
     * 批量删除画像行为权重
     *
     * @param ids 需要删除的画像行为权重主键集合
     * @return 结果
     */
    public int deleteBehaviorImageWeightByIds(Long[] ids);

    /**
     * 删除画像行为权重信息
     *
     * @param id 画像行为权重主键
     * @return 结果
     */
    public int deleteBehaviorImageWeightById(Long id);

    /**
     * 查询活跃用户资源库列表
     *
     * @param activityUserLibrary 活跃用户资源库
     * @return 活跃用户资源库集合
     */
    List<ActivityUserLibrary> selectActivityUserLibraryList(ActivityUserLibrary activityUserLibrary);

    List<UserTypeTotalVo> getUserTypeStatistic(Long userId);

    UserProjectTotalVo getUserProjectStatistic(Long userId);

    UserTaskTotalVo getUserTaskStatistic(Long userId);

    UserCompetitionTotalVo getUserCompStatistic(Long userId);

    UserMemoTotalVo getUserMemoStatistic(Long userId);

    UserExpertTotalVo getUserExpertStatistic(Long userId);

    List<KeyValueVo> getActivityStatistic();

    UserTypeTotalVo getUserBehaviorSum(Long userId);
}
