From a34b9a6418a8874dc0851cb4e19d189339dd5133 Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Mon, 04 Aug 2025 15:23:35 +0800 Subject: [PATCH] feat(ai): 添加 AI 用户答题功能 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiClothesSocialServiceImpl.java | 76 ++++++++++++++++++++++++++++++++++---- 1 files changed, 68 insertions(+), 8 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiClothesSocialServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiClothesSocialServiceImpl.java index 6f61c90..2bcd490 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiClothesSocialServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiClothesSocialServiceImpl.java @@ -4,6 +4,7 @@ import cc.mrbird.febs.common.enumerates.*; import cc.mrbird.febs.common.exception.FebsException; import cc.mrbird.febs.common.utils.LoginUserUtil; +import cc.mrbird.febs.mall.dto.ApiColletDelDto; import cc.mrbird.febs.mall.dto.clothes.*; import cc.mrbird.febs.mall.entity.*; import cc.mrbird.febs.mall.mapper.*; @@ -13,6 +14,7 @@ import cc.mrbird.febs.rabbit.producter.AgentProducer; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSON; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; @@ -195,17 +197,17 @@ apiSocialMuseVo.setTypeImg(clothesType.getImage()); } ClothesSize clothesSize = clothesSizeMapper.selectById(clothesSocialMuse.getSizeId()); - if(ObjectUtil.isNotNull(clothesSize)){ + if(ObjectUtil.isNotNull(clothesSize) && clothesType.getSizeState() == 1){ apiSocialMuseVo.setSizeName(clothesSize.getName()); totalAmount = totalAmount.add(clothesSize.getPrice()); } ClothesCloth clothesCloth = clothesClothMapper.selectById(clothesSocialMuse.getClothId()); - if(ObjectUtil.isNotNull(clothesCloth)){ + if(ObjectUtil.isNotNull(clothesCloth) && clothesType.getClothState() == 1){ apiSocialMuseVo.setClothName(clothesCloth.getName()); totalAmount = totalAmount.add(clothesCloth.getPrice()); } ClothesArt clothesArt = clothesArtMapper.selectById(clothesSocialMuse.getArtId()); - if(ObjectUtil.isNotNull(clothesArt)){ + if(ObjectUtil.isNotNull(clothesArt) && clothesType.getArtState() == 1){ apiSocialMuseVo.setArtName(clothesArt.getName()); totalAmount = totalAmount.add(clothesArt.getPrice()); } @@ -218,7 +220,7 @@ .eq(ClothesPatternRemark::getSourceId, clothesSocialMuse.getId()) .eq(ClothesPatternRemark::getType, SocialPatternLocationTypeEnum.MUSE.getValue()) ); - if(CollUtil.isNotEmpty(patternRemarks)){ + if(CollUtil.isNotEmpty(patternRemarks) && clothesType.getPatternState() == 1){ for (ClothesPatternRemark entity : patternRemarks){ ApiClothesPatternRemarkVo vo = new ApiClothesPatternRemarkVo(); ClothesPattern pattern = clothesPatternMapper.selectById(entity.getPatternId()); @@ -237,7 +239,7 @@ .eq(ClothesLocationRemark::getSourceId, clothesSocialMuse.getId()) .eq(ClothesLocationRemark::getType, SocialPatternLocationTypeEnum.MUSE.getValue()) ); - if(CollUtil.isNotEmpty(locationRemarks)){ + if(CollUtil.isNotEmpty(locationRemarks) && clothesType.getLocationState() == 1){ for (ClothesLocationRemark entity : locationRemarks){ ApiClothesLocationRemarkVo vo = new ApiClothesLocationRemarkVo(); ClothesLocation clothesLocation = clothesLocationMapper.selectById(entity.getLocationId()); @@ -250,8 +252,15 @@ apiSocialMuseVo.setLocationRemarkList(locationRemarkList); } apiSocialMuseVo.setTotalAmount(totalAmount.setScale(2, RoundingMode.DOWN)); - +// if( +// ObjectUtil.isNotNull(clothesArt) +// && ObjectUtil.isNotNull(clothesSize) +// && ObjectUtil.isNotNull(clothesCloth) +// ){ +// apiSocialInfoVo.setMuse(apiSocialMuseVo); +// } apiSocialInfoVo.setMuse(apiSocialMuseVo); + // Integer likeCnt = clothesSocial.getLikeCnt(); // Integer collectCnt = clothesSocial.getCollectCnt(); @@ -430,8 +439,6 @@ clothesSocialFollow.setSourceOptionId(dto.getCommentId()); clothesSocialFollow.setType(SocialTypeEnum.LIKE.getValue()); clothesSocialFollowMapper.insert(clothesSocialFollow); - - agentProducer.sendAddCollect(socialId); } return new FebsResponse().success().message("操作成功"); } @@ -459,6 +466,8 @@ clothesSocialFollow.setSourceId(socialId); clothesSocialFollow.setType(SocialTypeEnum.COLLECT.getValue()); clothesSocialFollowMapper.insert(clothesSocialFollow); + + agentProducer.sendAddCollect(socialId); } return new FebsResponse().success().message("操作成功"); } @@ -524,6 +533,10 @@ vo.setPatternPrice(pattern.getPrice()); vo.setPatternId(pattern.getId()); vo.setPatternRemark(patternRemark.getRemark()); + vo.setBoxHeight(pattern.getBoxHeight()); + vo.setBoxWidth(pattern.getBoxWidth()); + vo.setLeftPercent(pattern.getLeftPercent()); + vo.setTopPercent(pattern.getTopPercent()); patternRemarkList.add( vo); totalPatternAmount = totalPatternAmount.add(pattern.getPrice()); @@ -548,6 +561,10 @@ vo.setLocationImage(clothesLocation.getImage()); vo.setLocationPrice(clothesLocation.getPrice()); vo.setLocationId(clothesLocation.getId()); + vo.setBoxHeight(clothesLocation.getBoxHeight()); + vo.setBoxWidth(clothesLocation.getBoxWidth()); + vo.setLeftPercent(clothesLocation.getLeftPercent()); + vo.setTopPercent(clothesLocation.getTopPercent()); locationRemarkList.add(vo); totalLocationAmount = totalLocationAmount.add(clothesLocation.getPrice()); @@ -651,6 +668,49 @@ return new FebsResponse().success().data(voPage); } + @Override + public FebsResponse delCollection(ApiColletDelDto dto) { + Long memberId = LoginUserUtil.getLoginUser().getId(); + List<Long> ids = dto.getIds(); + if (CollUtil.isEmpty(ids)) { + return new FebsResponse().success().message("操作成功"); + } + + LambdaQueryWrapper<ClothesSocialFollow> delQuery = new LambdaQueryWrapper<>(); + delQuery.eq(ClothesSocialFollow::getMemberId, memberId); + delQuery.eq(ClothesSocialFollow::getSourceType, SocialSourceTypeEnum.SOCIAL.getValue()); + delQuery.in(ClothesSocialFollow::getSourceId, ids); + delQuery.eq(ClothesSocialFollow::getType, SocialTypeEnum.COLLECT.getValue()); + clothesSocialFollowMapper.delete(delQuery); + return new FebsResponse().success().message("操作成功"); + } + + @Override + public FebsResponse followState(ApiSocialCollectFollowStateDto dto) { + Long memberId = LoginUserUtil.getLoginUser().getId(); + HashMap<String, Object> stringObjectHashMap = new HashMap<>(); + + Integer collectState = clothesSocialFollowMapper.selectCount( + Wrappers.lambdaQuery(ClothesSocialFollow.class) + .eq(ClothesSocialFollow::getMemberId, memberId) + .eq(ClothesSocialFollow::getSourceType, SocialSourceTypeEnum.SOCIAL.getValue()) + .eq(ClothesSocialFollow::getSourceId, dto.getSocialId()) + .eq(ClothesSocialFollow::getType, SocialTypeEnum.COLLECT.getValue()) + ); + stringObjectHashMap.put("collectState", collectState); + + Integer likeState = clothesSocialFollowMapper.selectCount( + Wrappers.lambdaQuery(ClothesSocialFollow.class) + .eq(ClothesSocialFollow::getMemberId, memberId) + .eq(ClothesSocialFollow::getSourceType, SocialSourceTypeEnum.SOCIAL.getValue()) + .eq(ClothesSocialFollow::getSourceId, dto.getSocialId()) + .eq(ClothesSocialFollow::getType, SocialTypeEnum.LIKE.getValue()) + ); + stringObjectHashMap.put("likeState", likeState); + + return new FebsResponse().success().data(stringObjectHashMap); + } + public static void main(String[] args) { JSONObject jsonObject = new JSONObject(); jsonObject.putByPath("text", "123"); -- Gitblit v1.9.1