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 = "获取评价分页")