From ac33a3140ef8ef20dfd2537fce2dfdd0f374f30e Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期四, 26 二月 2026 17:42:10 +0800
Subject: [PATCH] 调试

---
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/CollectServiceImpl.java |  118 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 113 insertions(+), 5 deletions(-)

diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/CollectServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/CollectServiceImpl.java
index f574463..18ddbf7 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/CollectServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/CollectServiceImpl.java
@@ -1,26 +1,37 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
 import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.RichTextProcessor;
 import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.ActivityMapper;
+import com.doumee.dao.business.ArticleMapper;
 import com.doumee.dao.business.CollectMapper;
-import com.doumee.dao.business.model.Collect;
+import com.doumee.dao.business.GoodsMapper;
+import com.doumee.dao.business.model.*;
 import com.doumee.dao.web.dto.CollectDTO;
+import com.doumee.dao.web.request.CollectSaveRequest;
+import com.doumee.dao.web.request.ShopOrderRequest;
+import com.doumee.dao.web.response.CollectResponse;
 import com.doumee.service.business.CollectService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import org.apache.commons.collections4.MapUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -34,9 +45,16 @@
     @Autowired
     private CollectMapper collectMapper;
 
+    @Autowired
+    private GoodsMapper goodsMapper;
+
+    @Autowired
+    private ActivityMapper activityMapper;
+
+    @Autowired
+    private SystemDictDataBiz systemDictDataBiz;
     @Override
     public Integer create(Collect collect,Integer memberId) {
-
         Collect target = new Collect();
         target.setCreateDate(new Date());
         target.setEditDate(new Date());
@@ -178,4 +196,94 @@
         }).collect(Collectors.toMap(s -> s.getObjId(), s -> s));
         return collect;
     }
+
+
+
+
+    @Override
+    public void saveCollect(CollectSaveRequest request, Integer memberId){
+        if(Objects.isNull(request)|| Objects.isNull(request.getObjId())
+        || Objects.isNull(request.getType())){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        if(collectMapper.selectCount(new QueryWrapper<Collect>().lambda()
+                .eq(Collect::getMemberId,memberId)
+                .eq(Collect::getObjType,request.getType())
+                .eq(Collect::getObjId,request.getObjId())
+        )<= Constants.ZERO){
+            Collect target = new Collect();
+            target.setCreateDate(new Date());
+            target.setEditDate(new Date());
+            target.setMemberId(memberId);
+            target.setObjId(request.getObjId());
+            target.setObjType(request.getType());
+            collectMapper.insert(target);
+        };
+    }
+
+
+
+    @Override
+    public PageData<Collect> myCollectPage(PageWrap<Collect> pageWrap,Integer memberId){
+        IPage<Collect> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        Utils.MP.blankToNull(pageWrap.getModel());
+        Collect model = pageWrap.getModel();
+        if(Constants.equalsInteger(model.getObjType(),Constants.ONE)){
+            IPage<Collect> result = collectMapper.selectJoinPage(page, Collect.class, new MPJLambdaWrapper<Collect>()
+                    .selectAll(Collect.class)
+                    .selectAs(Goods::getName,Collect::getName)
+                    .selectAs(Goods::getPrice,Collect::getPrice)
+                    .selectAs(Goods::getImgurl,Collect::getActivityImgurl)
+                    .select(" ifnull(( select min(gs.PRICE) from goods_sku gs where gs.GOODS_ID = t1.id ),0) ", Collect::getLinePrice)
+                    .leftJoin(Goods.class,Goods::getId,Collect::getObjId)
+                    .eq(Collect::getIsdeleted,Constants.ZERO)
+                    .eq(Collect::getMemberId,memberId)
+                    .eq(Collect::getObjType,Constants.ONE)
+                    .orderByDesc(Collect::getId));
+            if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(result.getRecords())){
+                String preFixPath = systemDictDataBiz.getPreFixPath(Constants.RESOURCE_PATH, Constants.GOODS_FILE);
+                result.getRecords().forEach(s->s.setImgurl(StringUtils.isNotBlank(s.getActivityImgurl())?preFixPath+s.getActivityImgurl():null));
+            }
+            return PageData.from(result);
+        }else{
+            IPage<Collect> result = collectMapper.selectJoinPage(page, Collect.class, new MPJLambdaWrapper<Collect>()
+                    .selectAll(Collect.class)
+                    .selectAs(Activity::getName,Collect::getName)
+                    .selectAs(Activity::getCreateDate,Collect::getReleaseDate)
+                    .selectAs(Activity::getLooknum,Collect::getReadNum)
+                    .selectAs(Activity::getImgurl,Collect::getActivityImgurl)
+                    .selectAs(Labels::getName,Collect::getLabelName)
+                    .selectAs(Activity::getContent,Collect::getContent)
+                    .leftJoin(Activity.class,Activity::getId,Collect::getObjId)
+                    .leftJoin(Labels.class,Labels::getId,Activity::getLabelId)
+                    .eq(Collect::getIsdeleted,Constants.ZERO)
+                    .eq(Collect::getMemberId,memberId)
+                    .eq(Collect::getObjType,Constants.ZERO)
+                    .orderByDesc(Collect::getId));
+            if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(result.getRecords())){
+                String preFixPath = systemDictDataBiz.getPreFixPath(Constants.RESOURCE_PATH, Constants.ACTIVITY_FILE);
+                result.getRecords().forEach(s->s.setImgurl(StringUtils.isNotBlank(s.getActivityImgurl())?preFixPath+s.getActivityImgurl():null));
+                result.getRecords().stream().filter(s-> StringUtils.isNotBlank(s.getContent())).forEach(s->s.setContent(RichTextProcessor.extractPlainTextFromHtml(s.getContent())));
+            }
+            return PageData.from(result);
+        }
+    }
+
+
+    @Override
+    public CollectResponse getCollectNum(Integer memberId){
+        CollectResponse response = new CollectResponse();
+        response.setGoodsNum( collectMapper.selectCount(new QueryWrapper<Collect>().lambda()
+                .eq(Collect::getObjType,Constants.ONE)
+                .eq(Collect::getMemberId,memberId)
+        ));
+        response.setActivityNum( collectMapper.selectCount(new QueryWrapper<Collect>().lambda()
+                .eq(Collect::getObjType,Constants.ZERO)
+                .eq(Collect::getMemberId,memberId)
+        ));
+        return response;
+    }
+
+
+
 }

--
Gitblit v1.9.3