peng
2025-10-15 d50a86c6c9aad98b70aa996662219156c9c371a9
定制模块
6个文件已修改
1个文件已添加
161 ■■■■ 已修改文件
buyer-api/src/main/java/cn/lili/controller/order/CartController.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
buyer-api/src/main/java/cn/lili/controller/payment/CashierController.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/order/cart/entity/vo/BindingTemplateParam.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderSearchParams.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/order/order/entity/vo/OrderSimpleVO.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manager-api/src/main/java/cn/lili/controller/member/MemberEvaluationManagerController.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
buyer-api/src/main/java/cn/lili/controller/order/CartController.java
@@ -7,13 +7,21 @@
import cn.lili.common.exception.ServiceException;
import cn.lili.common.utils.StringUtils;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.lmk.domain.entity.UserCheckTemplate;
import cn.lili.modules.lmk.domain.form.CustomizeTemplateForm;
import cn.lili.modules.lmk.service.UserCheckTemplateService;
import cn.lili.modules.order.cart.entity.dto.BuyBackDTO;
import cn.lili.modules.order.cart.entity.dto.TradeDTO;
import cn.lili.modules.order.cart.entity.enums.CartTypeEnum;
import cn.lili.modules.order.cart.entity.vo.BindingTemplateParam;
import cn.lili.modules.order.cart.entity.vo.TradeParams;
import cn.lili.modules.order.cart.service.CartService;
import cn.lili.modules.order.order.entity.dos.Order;
import cn.lili.modules.order.order.entity.vo.ReceiptVO;
import cn.lili.modules.order.order.service.OrderService;
import cn.lili.utils.COSUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -22,6 +30,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.MediaType;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -29,6 +38,7 @@
import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.ArrayList;
import java.util.List;
/**
@@ -51,7 +61,12 @@
    @Autowired
    private COSUtil cosUtil;
    @Autowired
    private OrderService orderService;
    @Autowired
    private UserCheckTemplateService userCheckTemplateService;
    @ApiOperation(value = "向购物车中添加一个产品")
    @PostMapping
    @ApiImplicitParams({
@@ -352,4 +367,49 @@
            throw e;
        }
    }
    @PreventDuplicateSubmissions
    @ApiOperation(value = "根据交易编号进行模板数据绑定")
    @PostMapping("/binding/template")
    @Transactional(rollbackFor = Exception.class)
    public ResultMessage<Object> bindingTemplate(@RequestBody BindingTemplateParam bindingTemplateParam) {
        List<Order> byTradeSn = orderService.getByTradeSn(bindingTemplateParam.getSn());
        if (byTradeSn.isEmpty()) {
            log.info("当前订单不存在{}", bindingTemplateParam.getSn());
            return ResultUtil.error(ResultCode.ORDER_ERROR);
        }
        if (byTradeSn.size() >1) {
            log.info("当前订单数量异常{}", bindingTemplateParam.getSn());
            return ResultUtil.error(ResultCode.ORDER_ERROR);
        }
        Order order = byTradeSn.get(0);
        String sn = order.getSn();
        LambdaQueryWrapper<UserCheckTemplate> eq = Wrappers.<UserCheckTemplate>lambdaQuery().eq(UserCheckTemplate::getOrderSn, sn);
        List<UserCheckTemplate> list = userCheckTemplateService.list(eq);
        if (!list.isEmpty()) {
            log.info("订单不能重复绑定模板{}",bindingTemplateParam.getSn());
            return ResultUtil.error(ResultCode.ORDER_ERROR);
        }
        //定制商品特殊处理
        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(sn);
                userCheckTemplate.setSubId(customizeTemplateForm.getId());
                userCheckTemplate.setSubName(customizeTemplateForm.getTemplateTitle());
                userCheckTemplate.setContent(customizeTemplateForm.getValue());
                customizeTemplateForms.add(userCheckTemplate);
            }
            userCheckTemplateService.saveBatch(customizeTemplateForms);
        }
        return ResultUtil.success();
    }
}
buyer-api/src/main/java/cn/lili/controller/payment/CashierController.java
@@ -43,8 +43,6 @@
    @Autowired
    private CashierSupport cashierSupport;
    @Autowired
    private UserCheckTemplateService  userCheckTemplateService;
    @ApiImplicitParams({
@@ -55,27 +53,6 @@
    @Transactional(rollbackFor = Exception.class)
    public ResultMessage paymentParams(@Validated @RequestBody PayParam payParam) {
        CashierParam cashierParam = cashierSupport.cashierParam(payParam);
        //定制商品特殊处理
        if (StringUtils.isNotBlank(payParam.getTemplateId())){
            List<CustomizeTemplateForm> templateForm = payParam.getTemplateForm();
            List<UserCheckTemplate> customizeTemplateForms = new ArrayList<>();
            String orderSns = cashierParam.getOrderSns();
            for (CustomizeTemplateForm customizeTemplateForm : templateForm) {
                UserCheckTemplate userCheckTemplate = new UserCheckTemplate();
                userCheckTemplate.setContentType(customizeTemplateForm.getContentType());
                userCheckTemplate.setChooseImg(payParam.getChooseImage());
                userCheckTemplate.setChooseImgId(payParam.getChooseImageId());
                userCheckTemplate.setTemplateName(payParam.getTemplateName());
                userCheckTemplate.setTemplateId(payParam.getTemplateId());
                userCheckTemplate.setOrderSn(orderSns);
                userCheckTemplate.setSubId(customizeTemplateForm.getId());
                userCheckTemplate.setSubName(customizeTemplateForm.getTemplateTitle());
                userCheckTemplate.setContent(customizeTemplateForm.getValue());
                customizeTemplateForms.add(userCheckTemplate);
            }
            userCheckTemplateService.saveBatch(customizeTemplateForms);
        }
        return ResultUtil.data(cashierParam);
    }
framework/src/main/java/cn/lili/modules/order/cart/entity/vo/BindingTemplateParam.java
New file
@@ -0,0 +1,43 @@
package cn.lili.modules.order.cart.entity.vo;
import cn.lili.modules.lmk.domain.form.CustomizeTemplateForm;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
 * 支付参数
 *
 * @author Chopper
 * @since 2020/12/19 11:46
 */
@Data
@ToString
public class BindingTemplateParam {
    @NotNull
    @ApiModelProperty(value = "订单号")
    private String sn;
    @ApiModelProperty(value = "模板信息")
    private List<CustomizeTemplateForm> templateForm;
    @ApiModelProperty(value = "模板id")
    private String templateId;
    @ApiModelProperty(value = "模板名称")
    private String templateName;
    @ApiModelProperty(value = "选中图片")
    private String chooseImage;
    @ApiModelProperty(value = "选中图片Id")
    private String chooseImageId;
}
framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderSearchParams.java
@@ -119,6 +119,8 @@
    private String couponFlag;
    private String customizeFlag;
    private String storeSelectId;
    public <T> QueryWrapper<T> queryWrapper() {
@@ -189,6 +191,7 @@
        wrapper.eq(CharSequenceUtil.isNotEmpty(commentStatus), "oi.comment_status", commentStatus);
        wrapper.eq(CharSequenceUtil.isNotEmpty(couponFlag),"o.coupon_flag", couponFlag);
        wrapper.eq(CharSequenceUtil.isNotEmpty(customizeFlag),"o.customize_flag", customizeFlag);
        //按标签查询
        if (CharSequenceUtil.isNotEmpty(tag)) {
framework/src/main/java/cn/lili/modules/order/order/entity/vo/OrderSimpleVO.java
@@ -160,6 +160,7 @@
    private String consigneeName;
    private String consigneeMobile;
    private String modifyAddressFlag;
    private String customizeFlag;
    private String memberId;
framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java
@@ -93,6 +93,7 @@
            "o.consignee_mobile AS consigneeMobile," +
            "o.member_id AS memberId," +
            "m.nick_name AS nickName," +
            "o.customize_flag AS customizeFlag," +
            "o.modify_address_flag AS modifyAddressFlag,"+
            " GROUP_CONCAT(oi.goods_id) as group_goods_id," +
            " GROUP_CONCAT(oi.sku_id) as group_sku_id," +
manager-api/src/main/java/cn/lili/controller/member/MemberEvaluationManagerController.java
@@ -2,12 +2,14 @@
import cn.lili.common.aop.annotation.PreventDuplicateSubmissions;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.utils.StringUtils;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.member.entity.dto.EvaluationQueryParams;
import cn.lili.modules.member.entity.vo.MemberEvaluationListVO;
import cn.lili.modules.member.entity.vo.MemberEvaluationVO;
import cn.lili.modules.member.service.MemberEvaluationService;
import cn.lili.utils.COSUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@@ -17,6 +19,8 @@
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotNull;
import java.util.ArrayList;
import java.util.List;
/**
 * 管理端,会员商品评价接口
@@ -30,14 +34,34 @@
public class MemberEvaluationManagerController {
    @Autowired
    private MemberEvaluationService memberEvaluationService;
    @Autowired
    private COSUtil cosUtil;
    @PreventDuplicateSubmissions
    @ApiOperation(value = "通过id获取评论")
    @ApiImplicitParam(name = "id", value = "评价ID", required = true, dataType = "String", paramType = "path")
    @GetMapping(value = "/get/{id}")
    public ResultMessage<MemberEvaluationVO> get(@PathVariable String id) {
        return ResultUtil.data(memberEvaluationService.queryById(id));
        MemberEvaluationVO t = memberEvaluationService.queryById(id);
        String images = t.getImages();
        if (StringUtils.isNotBlank(images)) {
            String[] split = images.split(",");
            List<String> imgList = new ArrayList<>(split.length);
            for (String s : split) {
                if (StringUtils.isNotBlank(s)&&!s.contains("http")) {
                    imgList.add(cosUtil.getPreviewUrl(s));
                }
            }
            t.setImages(String.join(",", imgList));
        }
        String goodsImage = t.getGoodsImage();
        if (StringUtils.isNotBlank(goodsImage)&&!goodsImage.contains("http")) {
            t.setGoodsImage(cosUtil.getPreviewUrl(goodsImage));
        }
        String memberProfile = t.getMemberProfile();
        if (StringUtils.isNotBlank(memberProfile)&&!memberProfile.contains("http")) {
            t.setMemberProfile(cosUtil.getPreviewUrl(memberProfile));
        }
        return ResultUtil.data(t);
    }
    @ApiOperation(value = "获取评价分页")