TASK:mixi;

This commit is contained in:
shahaibo
2024-08-28 16:47:33 +08:00
parent f2a7a8c774
commit 38325fedc1
3 changed files with 25 additions and 5 deletions

View File

@@ -12,6 +12,7 @@ import com.mixi.common.config.FileProperties;
import com.mixi.common.config.exception.BusinessException; import com.mixi.common.config.exception.BusinessException;
import com.mixi.common.utils.AccessLimitUtils; import com.mixi.common.utils.AccessLimitUtils;
import com.mixi.mapper.TProductMapper; import com.mixi.mapper.TProductMapper;
import com.mixi.mapper.entity.QeFilling;
import com.mixi.mapper.entity.TProduct; import com.mixi.mapper.entity.TProduct;
import com.mixi.model.dto.AIRecommendDTO; import com.mixi.model.dto.AIRecommendDTO;
import com.mixi.model.dto.GenerateCollocationDataBaseDTO; import com.mixi.model.dto.GenerateCollocationDataBaseDTO;
@@ -568,7 +569,7 @@ public class PythonService {
return productList; return productList;
} }
public JSONObject getAIRecommend(AIRecommendDTO aiRecommendDTO) { public JSONObject getAIRecommend(QeFilling qeFilling) {
//限流校验 //限流校验
// AccessLimitUtils.validate("similarityMatch", 20); // AccessLimitUtils.validate("similarityMatch", 20);
OkHttpClient client = new OkHttpClient().newBuilder() OkHttpClient client = new OkHttpClient().newBuilder()
@@ -579,9 +580,16 @@ public class PythonService {
.build(); .build();
MediaType mediaType = MediaType.parse("application/json"); MediaType mediaType = MediaType.parse("application/json");
Map<String, Object> content = Maps.newHashMap(); Map<String, Object> content = Maps.newHashMap();
content.put("input_message", "recommend four outfits"); content.put("user_id", qeFilling.getPhoneNum());
content.put("user_id", aiRecommendDTO.getUserId()); content.put("type", qeFilling.getType());
content.put("image_urls", ""); content.put("q1", qeFilling.getQ1());
content.put("q2", qeFilling.getQ2());
content.put("q3", qeFilling.getQ3());
content.put("q4", qeFilling.getQ4());
content.put("q5", qeFilling.getQ5());
content.put("q6", qeFilling.getQ6());
content.put("q7", qeFilling.getQ7());
content.put("q8", qeFilling.getQ8());
RequestBody body = RequestBody.create(mediaType, JSON.toJSONString(content)); RequestBody body = RequestBody.create(mediaType, JSON.toJSONString(content));
Request request = new Request.Builder() Request request = new Request.Builder()

View File

@@ -2,6 +2,7 @@ package com.mixi.service;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -744,8 +745,15 @@ public class TAppProductService extends ServiceImpl<TProductMapper, TProduct> {
// 创建推荐对象 // 创建推荐对象
OutfitRecommendation recommendation = new OutfitRecommendation(); OutfitRecommendation recommendation = new OutfitRecommendation();
LambdaQueryWrapper<QeFilling> qeFillingLambdaQueryWrapper = new LambdaQueryWrapper<>();
qeFillingLambdaQueryWrapper.eq(QeFilling::getPhoneNum, aiRecommendDTO.getUserId());
List<QeFilling> qeFillings = qeFillingMapper.selectList(qeFillingLambdaQueryWrapper);
if (CollectionUtils.isEmpty(qeFillings)) {
throw new BusinessException("Phone number not found");
}
// 调用ai推荐模型 // 调用ai推荐模型
JSONObject jsonObject = pythonService.getAIRecommend(aiRecommendDTO); JSONObject jsonObject = pythonService.getAIRecommend(qeFillings.get(0));
// 检查jsonObject是否为null // 检查jsonObject是否为null
if (jsonObject == null) { if (jsonObject == null) {

View File

@@ -11,6 +11,7 @@ import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -721,6 +722,9 @@ public class TProductService extends ServiceImpl<TProductMapper, TProduct> {
tProductAttributeService.deleteByProductId(deleteDTO.getId()); tProductAttributeService.deleteByProductId(deleteDTO.getId());
//删除商品主体 //删除商品主体
tProductMapper.deleteById(deleteDTO.getId()); tProductMapper.deleteById(deleteDTO.getId());
LambdaQueryWrapper<MiTuProduct> qw = new LambdaQueryWrapper<>();
qw.eq(MiTuProduct::getProductId, deleteDTO.getId());
miTuProductMapper.delete(qw);
return Boolean.TRUE; return Boolean.TRUE;
} }