Administrator
2025-07-25 fc03a0df2edbf308351d3fb4027919e1d1d30e51
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");