From 580f4d3c2ca9eee53eee95a4de2f6610b790780a Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期四, 12 二月 2026 18:24:13 +0800
Subject: [PATCH] 小程序   接口开发

---
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/ActivityServiceImpl.java |  106 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 105 insertions(+), 1 deletions(-)

diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/ActivityServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/ActivityServiceImpl.java
index 42bd9de..8e45930 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/ActivityServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/ActivityServiceImpl.java
@@ -14,7 +14,6 @@
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
-import com.doumee.core.utils.DateUtil;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.business.*;
 import com.doumee.dao.business.model.*;
@@ -27,11 +26,16 @@
 import com.doumee.dao.web.dto.shop.ShopSimpleDTO;
 import com.doumee.dao.system.model.SystemUser;
 import com.doumee.dao.web.request.ActivityPageListRequest;
+import com.doumee.dao.web.request.goods.ArticleRequest;
 import com.doumee.service.business.*;
 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.jsoup.Jsoup;
+import org.jsoup.nodes.Document;
+import org.jsoup.nodes.Element;
+import org.jsoup.select.Elements;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.ApplicationEventPublisher;
@@ -105,6 +109,10 @@
 
     @Resource
     private ApplicationEventPublisher applicationEventPublisher;
+    @Autowired
+    private ZanMapper zanMapper;
+    @Autowired
+    private CollectMapper collectMapper;
 
 
     @Override
@@ -673,6 +681,11 @@
     }
 
 
+
+
+
+
+
     @Override
     public ActivityProbeShopDTO getActivityProbeShopDTO(Integer activityId, Integer memberId) {
 
@@ -1086,4 +1099,95 @@
         }*/
 
     }
+
+
+    @Override
+    public PageData<Activity> getArticlePage(PageWrap<ArticleRequest> pageWrap) {
+        String basePath = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode();
+        String activityPath = basePath + systemDictDataBiz.queryByCode(Constants.OSS, Constants.ACTIVITY_FILE).getCode();
+        ArticleRequest model = pageWrap.getModel();
+        IPage<Activity> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        MPJLambdaWrapper<Activity> queryWrapper = new MPJLambdaWrapper<>();
+        queryWrapper.selectAll(Activity.class)
+                .selectAs(Labels::getName,Activity::getLablesName)
+                .selectAs(Labels::getParam,Activity::getParam)
+                .leftJoin(Labels.class,Labels::getId,Activity::getLabelId)
+                .eq(Activity::getIsdeleted,Constants.ZERO)
+                .eq(Objects.nonNull(model.getLabelId()),Activity::getLabelId,model.getLabelId())
+                .eq(Objects.nonNull(model.getBrandId()),Activity::getBrandId,model.getBrandId())
+                .like(StringUtils.isNotBlank(model.getInfo()),Activity::getContent,model.getInfo())
+                .orderByDesc(Labels::getId)
+        ;
+        queryWrapper.orderByDesc(Activity::getCreateDate);
+        IPage<Activity> activityIPage = activityJoinMapper.selectJoinPage(page, Activity.class, queryWrapper);
+        for (Activity activity:activityIPage.getRecords()) {
+            if(StringUtils.isNotBlank(activity.getImgurl())){
+                activity.setImgurlfull(activityPath + activity.getImgurl());
+            }
+            //瀵屾枃鏈唴瀹� 璇诲彇瀵屾枃鏈�
+            if(Constants.equalsInteger(activity.getContentType(),Constants.ZERO)){
+                activity.setContentInfo(
+                        this.getContentInfo(activity.getContent())
+                );
+            }
+        }
+        return PageData.from(activityIPage);
+    }
+
+
+    public String getContentInfo(String html){
+        Document doc = Jsoup.parse(html);
+        Elements paragraphs = doc.select("p"); // 鑾峰彇鎵�鏈�<p>鏍囩
+        String content = "";
+        for (Element paragraph : paragraphs) {
+            content = content + paragraph.text();
+        }
+        return content;
+    }
+
+
+    @Override
+    public Activity getArticleInfo(Integer id,Integer memberId) {
+        Activity activity = activityJoinMapper.selectJoinOne(Activity.class,
+                new MPJLambdaWrapper<Activity>().selectAll(Activity.class)
+                        .selectAs(Labels::getName,Activity::getLablesName)
+                        .selectAs(Labels::getParam,Activity::getParam)
+                        .leftJoin(Labels.class,Labels::getId,Activity::getLabelId)
+                        .eq(Activity::getIsdeleted,Constants.ZERO)
+                        .eq(Activity::getId,id)
+                        .orderByDesc(Labels::getId)
+                        .last(" limit 1 ")
+        );
+        if (Objects.isNull(activity)) {
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        if(StringUtils.isNotBlank(activity.getImgurl())){
+            String basePath = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode();
+            String activityPath = basePath + systemDictDataBiz.queryByCode(Constants.OSS, Constants.ACTIVITY_FILE).getCode();
+            activity.setImgurlfull(basePath + activityPath + activity.getImgurl());
+        }
+        activityMapper.update(new UpdateWrapper<Activity>().lambda()
+                .setSql(" LOOKNUM = ifnull(LOOKNUM,0) + 1  ")
+                .eq(Activity::getId,id)
+        );
+        if(Objects.nonNull(memberId)){
+
+            activity.setCollectStatus(collectMapper.selectCount(new QueryWrapper<Collect>().lambda()
+                    .eq(Collect::getMemberId,memberId)
+                    .eq(Collect::getObjId,id)
+                    .eq(Collect::getObjType,Constants.ZERO)
+            )>Constants.ZERO?Constants.ONE:Constants.ZERO);
+
+            activity.setZanStatus(zanMapper.selectCount(new QueryWrapper<Zan>().lambda()
+                    .eq(Zan::getMemberId,memberId)
+                    .eq(Zan::getObjId,id)
+                    .eq(Zan::getObjType,Constants.ZERO)
+            )>Constants.ZERO?Constants.ONE:Constants.ZERO);
+
+        }
+        return activity;
+    }
+
+
+
 }

--
Gitblit v1.9.3