当前位置: 首页 > news >正文

根据用户主动关注用户和用户朋友圈以及其他关系层面平台注入的用户 系统推荐程序返回用户推荐列表

屏幕截图_11-5-2026_121838_mp.weixin.qq.com

package com.microsoft.aiRecmandation.controller;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.UUID;

import com.microsoft.aiRecmandation.domain.CustomerRetGoodAndReplyStatistic;
import com.microsoft.aiRecmandation.domain.CustomerScanne;
import com.microsoft.aiRecmandation.domain.FixedLeaderBoard;
import com.microsoft.aiRecmandation.domain.LeaderBoard;
import com.microsoft.aiRecmandation.domain.LeaderBoardZoneInjection;
import com.microsoft.aiRecmandation.domain.Log;
import com.microsoft.aiRecmandation.domain.OpenToPublicLeaderBoardUser;
import com.microsoft.aiRecmandation.domain.RetGoodAndReplyStatistic;

public class AIRecomandationController {

public static void main(String[] args) {
System.out.println("Hello world!");
}

/**
* 根据用户主动关注用户和用户朋友圈以及其他关系层面平台注入的用户 系统推荐程序返回用户推荐列表
* @param srcList
* @return
*
*/
public static List<OpenToPublicLeaderBoardUser> getAIRecomandationUserListByMaster(List<CustOpen2PublicUserClimbingLeaerBoardUsingStatistic> srcList){
if(srcList==null) {
return null;
}
if(srcList.isEmpty()) {
return null;
}
//first time innicialized fixed 4 climibing leaderbaord use data
List<CustomerOpen2PublicUserWrapper> custOpen2PublicUserWrapperList=new ArrayList<>();
for (int i = 0; i < srcList.size(); i++) {
CustomerOpen2PublicUserWrapper customerOpen2PublicUserWrapper = new CustomerOpen2PublicUserWrapper();
customerOpen2PublicUserWrapper.setId(UUID.randomUUID().toString());
customerOpen2PublicUserWrapper.setName("");
CustOpen2PublicUserClimbingLeaerBoardUsingStatistic custOpen2PublicUserClimbingLeaerBoardUsingStatistic = srcList.get(i);
Integer masterGoodFriendShipConcernedCount = custOpen2PublicUserClimbingLeaerBoardUsingStatistic.getMasterGoodFriendShipConcernedCount();
Integer froCustomerFriendshipUserCount = custOpen2PublicUserClimbingLeaerBoardUsingStatistic.getFroCustomerFriendshipUserCount();
Integer integer = masterGoodFriendShipConcernedCount+froCustomerFriendshipUserCount;
customerOpen2PublicUserWrapper.setMasterConcerntedAndNormalFriendshipSelectedCountCopyPlatfroInputs(integer);
customerOpen2PublicUserWrapper.setCustOpen2PublicUserClimbingLeaerBoardUsingStatisticId(custOpen2PublicUserClimbingLeaerBoardUsingStatistic.getId());
custOpen2PublicUserWrapperList.add(customerOpen2PublicUserWrapper);
}
// rank page this master is to concerned and normal friendship selected
Collections.sort(custOpen2PublicUserWrapperList,new Comparator<CustomerOpen2PublicUserWrapper>() {
@Override
public int compare(CustomerOpen2PublicUserWrapper o1, CustomerOpen2PublicUserWrapper o2) {
// TODO Auto-generated method stub
if(o1.getMasterConcerntedAndNormalFriendshipSelectedCountCopyPlatfroInputs()>o2.getMasterConcerntedAndNormalFriendshipSelectedCountCopyPlatfroInputs()) {
return 1;
}else if(o1.getMasterConcerntedAndNormalFriendshipSelectedCountCopyPlatfroInputs()<o2.getMasterConcerntedAndNormalFriendshipSelectedCountCopyPlatfroInputs()) {
return -1;
}
return 0;
}
});
CustomerOpen2PublicUserWrapper customerOpen2PublicUserWrapper = custOpen2PublicUserWrapperList.get(custOpen2PublicUserWrapperList.size()-1);
CustomerOpen2PublicUserWrapper customerOpen2PublicUserWrapper2 = custOpen2PublicUserWrapperList.get(custOpen2PublicUserWrapperList.size()-2);
CustomerOpen2PublicUserWrapper customerOpen2PublicUserWrapper3 = custOpen2PublicUserWrapperList.get(custOpen2PublicUserWrapperList.size()-3);
CustomerOpen2PublicUserWrapper customerOpen2PublicUserWrapper4 = custOpen2PublicUserWrapperList.get(custOpen2PublicUserWrapperList.size()-4);
// get this fixed relationship user list referrened to customerOpen2PublicUserWrapper
String custOpen2PublicUserClimbingLeaerBoardUsingStatisticId = customerOpen2PublicUserWrapper.getCustOpen2PublicUserClimbingLeaerBoardUsingStatisticId();
String custOpen2PublicUserClimbingLeaerBoardUsingStatisticId2 = customerOpen2PublicUserWrapper2.getCustOpen2PublicUserClimbingLeaerBoardUsingStatisticId();
String custOpen2PublicUserClimbingLeaerBoardUsingStatisticId3 = customerOpen2PublicUserWrapper3.getCustOpen2PublicUserClimbingLeaerBoardUsingStatisticId();
String custOpen2PublicUserClimbingLeaerBoardUsingStatisticId4 = customerOpen2PublicUserWrapper4.getCustOpen2PublicUserClimbingLeaerBoardUsingStatisticId();
srcList.forEach(e->{
// get this fist 4 elements of climbing leader board statistics
String id = e.getId();
if(id.equals(custOpen2PublicUserClimbingLeaerBoardUsingStatisticId)) {
e.getCustomerPlatformId();
}else if(id.equals(custOpen2PublicUserClimbingLeaerBoardUsingStatisticId2)) {

}else if(id.equals(custOpen2PublicUserClimbingLeaerBoardUsingStatisticId3)) {

}else if(id.equals(custOpen2PublicUserClimbingLeaerBoardUsingStatisticId4)) {

}
});
return null;
}

//根据点赞数量和回帖数量统计推荐用户方式接口排序 content recomandation engine dependency
public static List<OpenToPublicLeaderBoardUser> getAIRecomandationUserList(List<RetGoodAndReplyStatistic> retGoodAndReplyStatisticList) {
if(retGoodAndReplyStatisticList==null) {
return null;
}
if(retGoodAndReplyStatisticList.isEmpty()) {
return null;
}
List<CustomerRetGoodAndReplyStatistic> custRetGoodAndReplyStatisticList=new ArrayList<CustomerRetGoodAndReplyStatistic>();
for(RetGoodAndReplyStatistic retGoodAndReplyStatistic : retGoodAndReplyStatisticList) {
Integer goodTypeTagCount = retGoodAndReplyStatistic.getGoodTypeTagCount();
Integer replyTypeTagCount = retGoodAndReplyStatistic.getReplyTypeTagCount();
int goodTypeTagCountPlusReplyCount=goodTypeTagCount+replyTypeTagCount;
CustomerRetGoodAndReplyStatistic custRetGoodAndReplyStatistic=new CustomerRetGoodAndReplyStatistic();
custRetGoodAndReplyStatistic.setId(UUID.randomUUID().toString());
custRetGoodAndReplyStatistic.setName("");
custRetGoodAndReplyStatistic.setGoodTypeTagCountPlusReplyCount(goodTypeTagCountPlusReplyCount);
custRetGoodAndReplyStatistic.setRetGoodAndReplyStatisticId("");
custRetGoodAndReplyStatisticList.add(custRetGoodAndReplyStatistic);
}
Collections.sort(custRetGoodAndReplyStatisticList,new Comparator<CustomerRetGoodAndReplyStatistic>() {
@Override
public int compare(CustomerRetGoodAndReplyStatistic o1, CustomerRetGoodAndReplyStatistic o2) {
// TODO Auto-generated method stub
if(o1.getGoodTypeTagCountPlusReplyCount()>o2.getGoodTypeTagCountPlusReplyCount()) {
return 1;
}else if(o1.getGoodTypeTagCountPlusReplyCount()<o2.getGoodTypeTagCountPlusReplyCount()) {
return -1;
}
return 0;
}
});
// fixd leader board items data consume to be a blank
LeaderBoardZoneInjection leaderBoardInjection=new LeaderBoardZoneInjection();
leaderBoardInjection.setId(UUID.randomUUID().toString());
leaderBoardInjection.setName("leaderBoardInjection");
LeaderBoard leaderBoard=new LeaderBoard();
leaderBoard.setId(UUID.randomUUID().toString());
leaderBoard.setName("leaderBoard");
leaderBoard.setLeaderBoardInjectionId(leaderBoardInjection.getId());
FixedLeaderBoard fixedLeaderBoard=new FixedLeaderBoard();
fixedLeaderBoard.setId(UUID.randomUUID().toString());
fixedLeaderBoard.setName("fixedLeaderBoard");
fixedLeaderBoard.setLeaderBoardId(leaderBoard.getId());
// add a customer injection scanne
CustomerScanne customerScanne=new CustomerScanne();
customerScanne.setId(UUID.randomUUID().toString());
customerScanne.setName("customerScanne");
customerScanne.setLeaderBoardZoneInjectionId(leaderBoardInjection.getId());
OpenToPublicLeaderBoardUser openToPublicLeaderBoardUser=new OpenToPublicLeaderBoardUser();
openToPublicLeaderBoardUser.setId(UUID.randomUUID().toString());
openToPublicLeaderBoardUser.setName("openToPublicLeaderBoardUser");
// first time get open to public user and innicialize leader board with 4 items data leader board
// this is using gpt data retraining method to get experienced data leader board
CustomerRetGoodAndReplyStatistic custRetGoodAndReplyStatistic=custRetGoodAndReplyStatisticList.get(0);
Integer goodTypeTagCountPlusReplyCount0 = custRetGoodAndReplyStatistic.getGoodTypeTagCountPlusReplyCount();
CustomerRetGoodAndReplyStatistic custRetGoodAndReplyStatistic1=custRetGoodAndReplyStatisticList.get(1);
Integer goodTypeTagCountPlusReplyCount1 = custRetGoodAndReplyStatistic1.getGoodTypeTagCountPlusReplyCount();
CustomerRetGoodAndReplyStatistic custRetGoodAndReplyStatistic2=custRetGoodAndReplyStatisticList.get(2);
Integer goodTypeTagCountPlusReplyCount2 = custRetGoodAndReplyStatistic2.getGoodTypeTagCountPlusReplyCount();
CustomerRetGoodAndReplyStatistic custRetGoodAndReplyStatistic3=custRetGoodAndReplyStatisticList.get(3);
Integer goodTypeTagCountPlusReplyCount3 = custRetGoodAndReplyStatistic3.getGoodTypeTagCountPlusReplyCount();
//log first versiton 1.0 innicialized
Log log=new Log();
log.setId(UUID.randomUUID().toString());
log.setName("log first versiton 1.0 innicialized");
// log.setLogRecordContent("logRecodrContent");
// log.setOpenToPublicLeaderBoardUserLeaaderBoar_MoreDetailId("");
return null;
}
}
class CustomerOpen2PublicUserWrapper{
private String id;
private String name;
private Integer masterConcerntedAndNormalFriendshipSelectedCountCopyPlatfroInputs;
private String custOpen2PublicUserClimbingLeaerBoardUsingStatisticId;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getMasterConcerntedAndNormalFriendshipSelectedCountCopyPlatfroInputs() {
return masterConcerntedAndNormalFriendshipSelectedCountCopyPlatfroInputs;
}
public void setMasterConcerntedAndNormalFriendshipSelectedCountCopyPlatfroInputs(
Integer masterConcerntedAndNormalFriendshipSelectedCountCopyPlatfroInputs) {
this.masterConcerntedAndNormalFriendshipSelectedCountCopyPlatfroInputs = masterConcerntedAndNormalFriendshipSelectedCountCopyPlatfroInputs;
}
public String getCustOpen2PublicUserClimbingLeaerBoardUsingStatisticId() {
return custOpen2PublicUserClimbingLeaerBoardUsingStatisticId;
}
public void setCustOpen2PublicUserClimbingLeaerBoardUsingStatisticId(
String custOpen2PublicUserClimbingLeaerBoardUsingStatisticId) {
this.custOpen2PublicUserClimbingLeaerBoardUsingStatisticId = custOpen2PublicUserClimbingLeaerBoardUsingStatisticId;
}
}
class CustomerOpen2PublicUser{
private String id;
private String name;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
// depend on this customer scanne, waiting on down town city block
// ...zone injection injected by city block privilege master representation
class ClimbingLeaderBoard{
private String id;
private String name;
private String customerOpen2PublicUserId;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCustomerOpen2PublicUserId() {
return customerOpen2PublicUserId;
}
public void setCustomerOpen2PublicUserId(String customerOpen2PublicUserId) {
this.customerOpen2PublicUserId = customerOpen2PublicUserId;
}
}
class CustomerOpen2PublicUserClimbingLeaderBoardLog{
private String id;
private String name;
private String customerOpen2PublicUserId;
private String climbingLeaderBoardId;
private String custOpen2PublicUserClimbingLeaderBoardLogId;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCustomerOpen2PublicUserId() {
return customerOpen2PublicUserId;
}
public void setCustomerOpen2PublicUserId(String customerOpen2PublicUserId) {
this.customerOpen2PublicUserId = customerOpen2PublicUserId;
}
public String getClimbingLeaderBoardId() {
return climbingLeaderBoardId;
}
public void setClimbingLeaderBoardId(String climbingLeaderBoardId) {
this.climbingLeaderBoardId = climbingLeaderBoardId;
}
public String getCustOpen2PublicUserClimbingLeaderBoardLogId() {
return custOpen2PublicUserClimbingLeaderBoardLogId;
}
public void setCustOpen2PublicUserClimbingLeaderBoardLogId(String custOpen2PublicUserClimbingLeaderBoardLogId) {
this.custOpen2PublicUserClimbingLeaderBoardLogId = custOpen2PublicUserClimbingLeaderBoardLogId;
}
}
class CustOpen2PublicUserClimbingLeaderBoardLog{
private String id;
private String name;
private String logId;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
// customer user is reading this log page and log content referrenced to him
class CustomerUser{
private String id;
private String name;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
class Log{
private String id;
private String name;
private String logContent;
private String customerUserId;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getLogContent() {
return logContent;
}
public void setLogContent(String logContent) {
this.logContent = logContent;
}
}
class CustOpen2PublicUserClimbingLeaerBoardUsingStatistic{
private String id;
private String name;
private Integer masterGoodFriendShipConcernedCount;
private Integer froCustomerFriendshipUserCount;
private Integer froCustomerPlatformInjectionFriendshipBonusCount;
private String custOpen2PublicUserClimbingLeaderBoardLogId;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getMasterGoodFriendShipConcernedCount() {
return masterGoodFriendShipConcernedCount;
}
public void setMasterGoodFriendShipConcernedCount(Integer masterGoodFriendShipConcernedCount) {
this.masterGoodFriendShipConcernedCount = masterGoodFriendShipConcernedCount;
}
public Integer getFroCustomerFriendshipUserCount() {
return froCustomerFriendshipUserCount;
}
public void setFroCustomerFriendshipUserCount(Integer froCustomerFriendshipUserCount) {
this.froCustomerFriendshipUserCount = froCustomerFriendshipUserCount;
}
}
class CustomerPlatform{
private String id;
private String name;
private Integer custPlatformInjectionFriendshipUserCount;
private String retConcernedAndRelationshipId;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getCustPlatformInjectionFriendshipUserCount() {
return custPlatformInjectionFriendshipUserCount;
}
public void setCustPlatformInjectionFriendshipUserCount(Integer custPlatformInjectionFriendshipUserCount) {
this.custPlatformInjectionFriendshipUserCount = custPlatformInjectionFriendshipUserCount;
}
public String getRetConcernedAndRelationshipId() {
return retConcernedAndRelationshipId;
}
public void setRetConcernedAndRelationshipId(String retConcernedAndRelationshipId) {
this.retConcernedAndRelationshipId = retConcernedAndRelationshipId;
}
}
class RetConcernedAndRelationShip{
private String id;
private String name;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
// using this friend relationship , generating out some customer friend relathionship user list
// stratage version 1.0 , using balanced count score page rank, get right primary level 1 user list recomandation

 

http://www.jsqmd.com/news/795764/

相关文章:

  • 第四章 数字孪生制作完整流程
  • 无人机通信安全渗透测试:从信号拦截到GPS欺骗的完整攻防框架
  • 茅台自动预约系统:告别手动抢购,实现智能预约的完整解决方案
  • 从零到精通:手把手教你用BusHound分析SCSI Sense错误码(附完整排查流程)
  • 终极指南:如何通过Typora插件实现高效文件管理与快速切换
  • 洛谷比赛分级
  • 如何用FanControl在5分钟内解决Windows风扇噪音问题?
  • mkcert进阶玩法:一键生成局域网HTTPS证书,让内网测试告别“不安全”警告(含Windows/Linux/Mac多平台指南)
  • WebGLM:基于检索增强生成(RAG)的实时联网智能问答系统实战解析
  • 金仓数据库 V9R4C19 安全加固实战:禁用 root 部署 + hashbytes 单向哈希
  • 大模型中转哪个技术机构靠谱
  • 2026年论文AI率爆表?掌握这2招快速去AI痕迹,导师挑不出毛病! - 降AI实验室
  • 如何彻底卸载Windows Defender:2025完整移除工具使用指南
  • PDPI Spec:规格驱动开发如何提升AI时代软件工程效率
  • 不只是Target选错:深挖Metasploit中‘Exploit completed, but no session’的3个隐蔽原因与对策
  • 基于Claude的智能代码质量监控工具设计与实践
  • 别再死记硬背三段式状态机了!用HDLbits的Simple FSM题,带你搞懂Verilog状态机设计的核心差异
  • 12万Star的Karpathy skills:四原则修正 LLM 编码行为
  • Simulink给STM32做自动代码生成?我实测了F4和H7系列,这些坑你得提前知道
  • 2026遥感、地球科学与人工智能国际学术会议(RSGAI 2026)
  • FFXIV TexTools终极指南:打造《最终幻想14》专属视觉体验的三大核心模块
  • 闲鱼自动化脚本开发实战:基于uiautomator2的UI自动化与风控对抗
  • Go语言技能树构建:从知识体系到评估引擎的工程实践
  • Teamcenter 13 部署实战:从零到一构建企业级PLM环境
  • 从HIDL到HAL3:手把手拆解Android相机Provider进程的通信与数据流转
  • Real-ESRGAN-GUI:免费开源AI图像增强工具,让模糊照片重获高清新生
  • 压力语音的声学特征与识别技术解析
  • 终极指南:快速解决FanControl风扇识别故障的完整方案
  • 5分钟搭建Windows免费Syslog服务器:零基础网络日志监控指南
  • Python2.7采集OPC-DA数据性能优化实战:从单点读取到Group批量处理的效率飞跃