Commit a628a19d authored by tangtuo's avatar tangtuo

修改创建订单的接口返回值类型

订单列表接口加上订单状态字段
parent eb9ec8d4
......@@ -33,7 +33,7 @@ public class Order {
@ApiModelProperty("订单价格-单位(分)")
private Long fee;
@ApiModelProperty("0-支付中 1-支付成功 2-订单已关闭 3-已退款")
@ApiModelProperty("0-支付中 1-支付成功 2-订单已关闭 3-退款中 4-已退款 5-订单已取消")
private Integer orderStatus;
@ApiModelProperty("支付类型 1-微信支付 2-支付宝支付")
......
package com.fzm.common.entity.vo;
import com.fzm.common.entity.Category;
import com.fzm.common.entity.Nft;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
......
......@@ -35,7 +35,7 @@ public class OrderVo {
@ApiModelProperty("订单价格-单位(分)")
private Long fee;
@ApiModelProperty("0-支付中 1-支付成功 2-订单已关闭 3-已退款")
@ApiModelProperty("0-支付中 1-支付成功 2-订单已关闭 3-退款中 4-已退款 5-订单已取消")
private Integer orderStatus;
@ApiModelProperty("支付类型 1-微信支付 2-支付宝支付")
......
......@@ -15,5 +15,5 @@ import java.util.List;
@Mapper
public interface OrderMapper extends BaseMapper<Order> {
List<OrderVo> getByPayScene(@Param("payScene") Integer payScene, @Param("userId") Integer userId);
List<OrderVo> getByPayScene(@Param("payScene") Integer payScene, @Param("userId") Integer userId, @Param("orderStatus") Integer orderStatus);
}
......@@ -183,6 +183,6 @@ public interface NftService extends IService<Nft> {
*/
void delete(Integer id);
void republish();
// void republish();
}
......@@ -38,7 +38,7 @@ public interface OrderService extends IService<Order> {
* @param orderDto
* @return
*/
Long createOrder(OrderDto orderDto);
Order createOrder(OrderDto orderDto);
/**
* @param orderId
......@@ -59,9 +59,10 @@ public interface OrderService extends IService<Order> {
* 获取我的订单
*
* @param payScene
* @param orderStatus
* @return
*/
List<OrderVo> listOrder(Integer payScene);
List<OrderVo> listOrder(Integer payScene, Integer orderStatus);
void processOrder(Long orderId, Integer productId, Integer payScene);
......
......@@ -258,28 +258,28 @@ public class NftServiceImpl extends ServiceImpl<NftMapper, Nft> implements NftSe
this.removeById(id);
}
@Override
public void republish() {
List<Nft> nfts = nftMapper.get();
int count = 0;
for (Nft nft : nfts) {
try {
String OldNftHash = nft.getNftHash();
String newNftHash = this.republish(nft.getId());
copyrightApplyService.replaceNftHash(OldNftHash, newNftHash);
NftTransferRecord record = nftTransferRecordService.getByNftHash(OldNftHash);
if (record != null) {
String transferHash = retransfer(nft.getId(), record.getToAddress());
record.setNftHash(newNftHash);
record.setTransferHash(transferHash);
nftTransferRecordService.updateById(record);
}
} catch (Exception e) {
log.error(e.getMessage(), e);
}
log.info("已重新发行完 {} 个nft", ++count);
}
}
// @Override
// public void republish() {
// List<Nft> nfts = nftMapper.get();
// int count = 0;
// for (Nft nft : nfts) {
// try {
// String OldNftHash = nft.getNftHash();
// String newNftHash = this.republish(nft.getId());
// copyrightApplyService.replaceNftHash(OldNftHash, newNftHash);
// NftTransferRecord record = nftTransferRecordService.getByNftHash(OldNftHash);
// if (record != null) {
// String transferHash = retransfer(nft.getId(), record.getToAddress());
// record.setNftHash(newNftHash);
// record.setTransferHash(transferHash);
// nftTransferRecordService.updateById(record);
// }
// } catch (Exception e) {
// log.error(e.getMessage(), e);
// }
// log.info("已重新发行完 {} 个nft", ++count);
// }
// }
private String retransfer(Integer id, String receiveAddress) {
Nft nft = getById(id);
......
......@@ -24,6 +24,7 @@ import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.time.Duration;
import java.time.Instant;
import java.util.Date;
import java.util.List;
/**
......@@ -73,7 +74,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
}
@Override
public Long createOrder(OrderDto orderDto) {
public Order createOrder(OrderDto orderDto) {
Order order = new Order();
long id = snowflakeUtil.snowflakeId();
Integer productId = orderDto.getProductId();
......@@ -91,6 +92,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
order.setFee(orderDto.getFee());
order.setProductId(productId);
order.setUserId(JwtUtil.getUserIdFromToken(request.getHeader("Authorization")));
order.setCreateDate(new Date());
order.setUpdateDate(new Date());
Integer orderStatus;
if (orderDto.getFee() > 0) {
orderStatus = OrderStatus.PAYING.getStatus();
......@@ -101,7 +104,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
}
order.setOrderStatus(orderStatus);
this.save(order);
return id;
return order;
}
@Override
......@@ -130,9 +133,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
}
@Override
public List<OrderVo> listOrder(Integer payScene) {
public List<OrderVo> listOrder(Integer payScene, Integer orderStatus) {
Integer userId = JwtUtil.getUserIdFromToken(request.getHeader("Authorization"));
return orderMapper.getByPayScene(payScene, userId);
return orderMapper.getByPayScene(payScene, userId, orderStatus);
}
@Override
......
......@@ -20,7 +20,7 @@
a.file_url,
a.is_commemorate,
a.nft_hash,
a.publish_time
a.publish_time,
b.category_name as category
from tb_nft a left join tb_category b on a.category_id = b.id
where a.id in (
......
......@@ -13,6 +13,9 @@
left join tb_nft b on b.nft_hash = c.nft_hash
</if>
where a.pay_scene = #{payScene} and a.user_id = #{userId}
<if test="orderStatus != null">
and order_status = #{orderStatus}
</if>
order by a.update_date desc
</select>
</mapper>
\ No newline at end of file
package com.fzm.portal.controller;
import com.fzm.common.annotation.Authentication;
import com.fzm.common.entity.Order;
import com.fzm.common.entity.dto.OrderDto;
import com.fzm.common.entity.vo.OrderVo;
import com.fzm.common.enums.OrderStatus;
......@@ -30,9 +31,9 @@ public class OrderController {
@PostMapping("/create")
@ApiOperation("下单")
public ResponseModel<String> createOrder(@RequestBody OrderDto orderDto) {
Long orderId = orderService.createOrder(orderDto);
return ResponseModel.success(String.valueOf(orderId));
public ResponseModel<OrderVo> createOrder(@RequestBody OrderDto orderDto) {
Order order = orderService.createOrder(orderDto);
return ResponseModel.success(new OrderVo(order));
}
......@@ -53,8 +54,8 @@ public class OrderController {
@GetMapping("/list/{payScene}")
@ApiOperation(value = "获取我的订单列表")
public ResponseModel<List<OrderVo>> listOrder(@PathVariable Integer payScene) {
List<OrderVo> orders = orderService.listOrder(payScene);
public ResponseModel<List<OrderVo>> listOrder(@PathVariable Integer payScene, @RequestParam(required = false) Integer orderStatus) {
List<OrderVo> orders = orderService.listOrder(payScene, orderStatus);
return ResponseModel.success(orders);
}
......
......@@ -49,6 +49,7 @@ public class PayTask {
log.warn("此任务正在运行中");
return;
}
try {
// 查询超时(创建后超过24小时未支付)的订单
List<Order> orderList = orderService.getTimeOutOrders(24);
if (CollectionUtil.isEmpty(orderList)) {
......@@ -67,6 +68,9 @@ public class PayTask {
log.error(String.format("订单状态更新失败,当前订单号: %s", orderId), e);
}
}
} finally {
lock.unlock();
}
}
}
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