Commit f1f8a848 authored by 33's avatar 33

新增版权版权申请并下单接口

parent f3ede0de
package com.fzm.common.entity.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotNull;
/**
* @author tangtuo
* @date 2022/1/19 15:09
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class CopyrightOrderDto extends CopyrightDTO {
@NotNull(message = "订单金额不能为空")
@ApiModelProperty("订单价格")
private Long fee;
@NotNull(message = "支付场景不能为空")
@ApiModelProperty("支付场景 1-nft发行 2-版权申请")
private Integer payScene;
@ApiModelProperty("产品id nft的id或者copyright的id")
private Integer productId;
}
package com.fzm.common.service;
import com.fzm.common.entity.Order;
import com.fzm.common.entity.dto.CopyrightOrderDto;
/**
* @author wt
* @date 2022/5/23
*/
public interface CopyrightApplyOrderService {
Order submitOrder(CopyrightOrderDto copyrightOrderDto);
Order updateOrder(CopyrightOrderDto copyrightOrderDto);
}
package com.fzm.common.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.fzm.common.entity.Order;
import com.fzm.common.entity.dto.CopyrightDTO;
import com.fzm.common.entity.dto.CopyrightOrderDto;
import com.fzm.common.entity.dto.OrderDto;
import com.fzm.common.service.CopyrightApplyOrderService;
import com.fzm.common.service.CopyrightApplyService;
import com.fzm.common.service.OrderService;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* @author wt
* @date 2022/5/23
*/
@Service
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class CopyrightApplyOrderServiceImpl implements CopyrightApplyOrderService {
private final CopyrightApplyService copyrightApplyService;
private final OrderService orderService;
@Override
@Transactional(rollbackFor = Exception.class)
public Order submitOrder(CopyrightOrderDto copyrightOrderDto) {
CopyrightDTO copyrightDTO = BeanUtil.copyProperties(copyrightOrderDto, CopyrightDTO.class);
Integer productId = copyrightApplyService.submit(copyrightDTO);
OrderDto orderDto = BeanUtil.copyProperties(copyrightOrderDto, OrderDto.class);
orderDto.setProductId(productId);
return orderService.createOrder(orderDto);
}
@Override
@Transactional(rollbackFor = Exception.class)
public Order updateOrder(CopyrightOrderDto copyrightOrderDto) {
CopyrightDTO copyrightDTO = BeanUtil.copyProperties(copyrightOrderDto, CopyrightDTO.class);
Integer productId = copyrightApplyService.update(copyrightDTO);
OrderDto orderDto = BeanUtil.copyProperties(copyrightOrderDto, OrderDto.class);
orderDto.setProductId(productId);
return orderService.createOrder(orderDto);
}
}
package com.fzm.portal.controller;
import com.fzm.common.annotation.Authentication;
import com.fzm.common.entity.Order;
import com.fzm.common.entity.dto.CopyrightOrderDto;
import com.fzm.common.entity.vo.OrderVo;
import com.fzm.common.model.ResponseModel;
import com.fzm.common.service.CopyrightApplyOrderService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author wt
* @date 2022/5/23
*/
@RestController
@Api(tags = "版权申请")
@RequestMapping("/copyright/apply")
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class CopyrightApplyOrderController {
private final CopyrightApplyOrderService copyrightApplyOrderService;
@Authentication
@PostMapping("/submit-order")
@ApiOperation("/提交申请并下单")
public ResponseModel<OrderVo> submitOrder(@Validated @RequestBody CopyrightOrderDto copyrightDTO) {
Order order = copyrightApplyOrderService.submitOrder(copyrightDTO);
return ResponseModel.success(new OrderVo(order));
}
@Authentication
@PostMapping(value = "/update-order")
@ApiOperation(value = "编辑并下单")
public ResponseModel<OrderVo> updateOrder(@RequestBody CopyrightOrderDto copyrightDTO) {
Order order = copyrightApplyOrderService.updateOrder(copyrightDTO);
return ResponseModel.success(new OrderVo(order));
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment