zxl
5 天以前 d900bdc7b712666cdeafe36f01e485f4672e4651
framework/src/main/java/cn/lili/modules/lmk/service/impl/GoodsCustomizeTemplateServiceImpl.java
@@ -1,22 +1,31 @@
package cn.lili.modules.lmk.service.impl;
import cn.lili.modules.lmk.domain.entity.TemplateConstomizeTitle;
import cn.lili.modules.lmk.domain.entity.TemplateImgs;
import cn.lili.common.enums.ResultUtil;
import cn.lili.modules.lmk.domain.entity.*;
import cn.lili.modules.lmk.domain.form.CustomizeTemplateForm;
import cn.lili.modules.lmk.enums.general.EnableStatusEnums;
import cn.lili.modules.lmk.service.TemplateConstomizeTitleService;
import cn.lili.modules.lmk.service.TemplateImgsService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import cn.lili.common.utils.StringUtils;
import cn.lili.modules.goods.entity.dos.GoodsSku;
import cn.lili.modules.goods.service.GoodsSkuService;
import cn.lili.modules.lmk.domain.entity.TemplateImgs;
import cn.lili.modules.lmk.domain.vo.CustomizeTemplateVO;
import cn.lili.modules.lmk.service.UserCheckTemplateService;
import cn.lili.modules.order.cart.entity.vo.BindingTemplateParam;
import cn.lili.utils.COSUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import cn.lili.modules.lmk.domain.entity.GoodsCustomizeTemplate;
import cn.lili.modules.lmk.mapper.GoodsCustomizeTemplateMapper;
import cn.lili.modules.lmk.service.GoodsCustomizeTemplateService;
import cn.lili.base.Result;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.conditions.query.QueryChainWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.lili.modules.lmk.domain.form.GoodsCustomizeTemplateForm;
import cn.lili.modules.lmk.domain.vo.GoodsCustomizeTemplateVO;
import cn.lili.modules.lmk.domain.query.GoodsCustomizeTemplateQuery;
import jodd.util.StringUtil;
import org.springframework.stereotype.Service;
import lombok.RequiredArgsConstructor;
import cn.lili.utils.PageUtil;
@@ -24,6 +33,7 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@@ -41,6 +51,10 @@
    private final TemplateImgsService templateImgsService;
    private final TemplateConstomizeTitleService templateConstomizeTitleService;
    private final GoodsSkuService goodsSkuService;
    private final UserCheckTemplateService userCheckTemplateService;
    private final COSUtil cosUtil;
    /**
     * 添加
     * @param form
@@ -184,6 +198,10 @@
     */
    @Override
    public Result detail(String id) {
        return Result.ok().data(this.detailById(id));
    }
    @Override
    public GoodsCustomizeTemplateVO detailById(String id){
        GoodsCustomizeTemplateVO vo = baseMapper.getById(id);
        Assert.notNull(vo, "记录不存在");
        //查询相关模板信息
@@ -199,7 +217,7 @@
                .list();
        vo.setListImages(templateImgsList);
        vo.setTitles(templateConstomizeTitleList);
        return Result.ok().data(vo);
        return vo;
    }
    /**
@@ -226,4 +244,70 @@
        baseMapper.updateById(goodsCustomizeTemplate);
        return Result.ok();
    }
    @Override
    public Result getCustomizeTemplateById(String id) {
        CustomizeTemplateVO customizeTemplate = baseMapper.getCustomizeTemplate(id);
//        if (customizeTemplate != null) {
//            List<TemplateImgs> templateImgs = customizeTemplate.getTemplateImgs();
//            if (!templateImgs.isEmpty()) {
//                for (TemplateImgs templateImg : templateImgs) {
//                    String imgUrl = templateImg.getImgUrl();
//                    if (StringUtils.isNotBlank(imgUrl)&&!imgUrl.contains("http")) {
//                        templateImg.setImgUrl(cosUtil.getPreviewUrl(imgUrl));
//                    }
//                }
//            }
//        }
        return Result.ok().data(customizeTemplate);
    }
    @Override
    public Result getCustomizeTemplate(String id) {
        GoodsSku goodsSku = goodsSkuService.getById(id);
        String templateId = goodsSku.getCustomizeTemplateId();
        CustomizeTemplateVO customizeTemplate = baseMapper.getCustomizeTemplate(templateId);
//        if (customizeTemplate != null) {
//            List<TemplateImgs> templateImgs = customizeTemplate.getTemplateImgs();
//            if (!templateImgs.isEmpty()) {
//                for (TemplateImgs templateImg : templateImgs) {
//                    String imgUrl = templateImg.getImgUrl();
//                    if (StringUtils.isNotBlank(imgUrl)&&!imgUrl.contains("http")) {
//                        templateImg.setImgUrl(cosUtil.getPreviewUrl(imgUrl));
//                    }
//                }
//            }
//        }
        return Result.ok().data(customizeTemplate);
    }
    @Override
    @Transactional
    public Result editTemplate(BindingTemplateParam bindingTemplateParam) {
        LambdaQueryWrapper<UserCheckTemplate> del = Wrappers.<UserCheckTemplate>lambdaQuery();
        del.eq(UserCheckTemplate::getOrderSn,bindingTemplateParam.getSn())
                .eq(UserCheckTemplate::getTemplateId,bindingTemplateParam.getTemplateId());
        userCheckTemplateService.remove(del);
        //定制商品特殊处理
        if (StringUtils.isNotBlank(bindingTemplateParam.getTemplateId())){
            List<CustomizeTemplateForm> templateForm = bindingTemplateParam.getTemplateForm();
            List<UserCheckTemplate> customizeTemplateForms = new ArrayList<>();
            for (CustomizeTemplateForm customizeTemplateForm : templateForm) {
                UserCheckTemplate userCheckTemplate = new UserCheckTemplate();
                userCheckTemplate.setContentType(customizeTemplateForm.getContentType());
                userCheckTemplate.setChooseImg(bindingTemplateParam.getChooseImage());
                userCheckTemplate.setChooseImgId(bindingTemplateParam.getChooseImageId());
                userCheckTemplate.setTemplateName(bindingTemplateParam.getTemplateName());
                userCheckTemplate.setTemplateId(bindingTemplateParam.getTemplateId());
                userCheckTemplate.setOrderSn(bindingTemplateParam.getSn());
                userCheckTemplate.setSubId(customizeTemplateForm.getId());
                userCheckTemplate.setSubName(customizeTemplateForm.getTemplateTitle());
                userCheckTemplate.setContent(customizeTemplateForm.getValue());
                customizeTemplateForms.add(userCheckTemplate);
            }
            userCheckTemplateService.saveBatch(customizeTemplateForms);
        }
        return Result.ok();
    }
}