| | |
| | | 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; |
| | |
| | | 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.*; |
| | | |
| | |
| | | import javax.validation.constraints.Min; |
| | | import javax.validation.constraints.NotEmpty; |
| | | import javax.validation.constraints.NotNull; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | @Autowired |
| | | private COSUtil cosUtil; |
| | | |
| | | @Autowired |
| | | private OrderService orderService; |
| | | |
| | | |
| | | @Autowired |
| | | private UserCheckTemplateService userCheckTemplateService; |
| | | @ApiOperation(value = "向购物车中添加一个产品") |
| | | @PostMapping |
| | | @ApiImplicitParams({ |
| | |
| | | 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(); |
| | | } |
| | | } |