MrShi
10 小时以前 ac33a3140ef8ef20dfd2537fce2dfdd0f374f30e
server/dmmall_service/src/main/java/com/doumee/service/business/impl/CollectServiceImpl.java
@@ -16,6 +16,8 @@
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;
@@ -222,51 +224,66 @@
    @Override
    public List<Collect> myCollect(Integer memberId,Integer type){
        List<Collect> collectList = new ArrayList<>();
        if(Constants.equalsInteger(type,Constants.ZERO)){
            collectList = collectMapper.selectJoinList(Collect.class,new MPJLambdaWrapper<Collect>()
                            .selectAll(Collect.class)
                            .selectAs(Goods::getName,Collect::getName)
                            .selectAs(Goods::getPrice,Collect::getPrice)
                            .selectAs(Goods::getImgurl,Collect::getImgurl)
                            .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)
    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,type)
                    .orderByDesc(Collect::getId)
            );
            if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(collectList)){
                    .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);
                collectList.forEach(s->s.setImgurl(preFixPath+s.getImgurl()));
                result.getRecords().forEach(s->s.setImgurl(StringUtils.isNotBlank(s.getActivityImgurl())?preFixPath+s.getActivityImgurl():null));
            }
            return PageData.from(result);
        }else{
            collectList = collectMapper.selectJoinList(Collect.class,new MPJLambdaWrapper<Collect>()
            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::getImgurl)
                    .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,type)
                    .orderByDesc(Collect::getId)
            );
            if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(collectList)){
                    .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);
                collectList.forEach(s->s.setImgurl(preFixPath+s.getImgurl()));
                collectList.stream().filter(s-> StringUtils.isNotBlank(s.getContent())).forEach(s->s.setContent(RichTextProcessor.extractPlainTextFromHtml(s.getContent())));
                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);
        }
        return collectList;
    }
    @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;
    }
}