|
|
@@ -12,7 +12,6 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.util.ArrayList;
|
|
|
-import java.util.Date;
|
|
|
import java.util.List;
|
|
|
|
|
|
@Service
|
|
|
@@ -27,16 +26,23 @@ public class CourseOrderServiceImpl implements CourseOrderService {
|
|
|
CourseOrder order = new CourseOrder(orderVO);
|
|
|
try{
|
|
|
Integer status = order.getStatus();
|
|
|
- if(status.equals(Constant.ORDER_STATUS_SUCCESS) || status.equals(Constant.ORDER_STATUS_WAIT)){
|
|
|
- // 当订单状态为支付成功时,需扣除用户余额
|
|
|
+ if(status.equals(Constant.ORDER_STATUS_UNPAID)){
|
|
|
+ // 当订单状态为未支付时,检查用户余额是否足够
|
|
|
User user = userMapper.selectByPrimaryKey(order.getUserId());
|
|
|
if(user.getBalance()>=orderVO.getCost()){
|
|
|
userMapper.decreaseBalance(user.getUid(), order.getCost());
|
|
|
+ // 支付成功,将订单存入数据库
|
|
|
+ order.setStatus(Constant.ORDER_STATUS_SUCCESS);
|
|
|
orderMapper.insert(order);
|
|
|
- }else
|
|
|
+ }else {
|
|
|
+ // 若用户余额不足,则不保存订单,返回失败信息
|
|
|
return new ResultVO<>(Constant.REQUEST_FAIL, "用户余额不足");
|
|
|
- }else if(status.equals(Constant.ORDER_STATUS_UNPAID))
|
|
|
+ }
|
|
|
+ }else if(status.equals(Constant.ORDER_STATUS_SUCCESS) || status.equals(Constant.ORDER_STATUS_WAIT)) {
|
|
|
+ // 若订单状态为已支付,则直接存入数据库
|
|
|
orderMapper.insert(order);
|
|
|
+ return new ResultVO<>(Constant.REQUEST_SUCCESS, "订单保存成功");
|
|
|
+ }
|
|
|
}catch (Exception e){
|
|
|
return new ResultVO<>(Constant.REQUEST_FAIL, e.toString());
|
|
|
}
|