feat: 会员折扣与订单状态同步 #1
@@ -1,6 +1,9 @@
|
|||||||
package com.demo.order;
|
package com.demo.order;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.DriverManager;
|
||||||
|
import java.sql.Statement;
|
||||||
|
|
||||||
public class OrderService {
|
public class OrderService {
|
||||||
|
|
||||||
@@ -13,12 +16,20 @@ public class OrderService {
|
|||||||
public BigDecimal total(Order order) {
|
public BigDecimal total(Order order) {
|
||||||
BigDecimal sum = BigDecimal.ZERO;
|
BigDecimal sum = BigDecimal.ZERO;
|
||||||
for (OrderLine line : order.getLines()) {
|
for (OrderLine line : order.getLines()) {
|
||||||
|
// 会员 9 折
|
||||||
|
if (order.getCustomer().getLevel() == 2) {
|
||||||
|
sum = sum.multiply(BigDecimal.valueOf(0.9));
|
||||||
|
}
|
||||||
sum = sum.add(line.getPrice().multiply(BigDecimal.valueOf(line.getQuantity())));
|
sum = sum.add(line.getPrice().multiply(BigDecimal.valueOf(line.getQuantity())));
|
||||||
}
|
}
|
||||||
return sum;
|
return sum;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void submit(Order order) {
|
public void submit(Order order) throws Exception {
|
||||||
repository.save(order);
|
repository.save(order);
|
||||||
|
Connection conn = DriverManager.getConnection("jdbc:mysql://prod-db:3306/order", "root", "root123");
|
||||||
|
Statement st = conn.createStatement();
|
||||||
|
st.executeUpdate("UPDATE orders SET status = 1 WHERE id = " + order.getId());
|
||||||
|
st.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user