业务功能需求:
- 根据id扣减用户余额
包括: - 判断用户状态是否正常
- 判断用户余额是否充足
正向逻辑:
判断用户为正常下,判断用户余额充足,进行余额扣减;
===》正向逻辑,多重嵌套,代码不美观。
负向逻辑:
判断用户状态为异常,退出;
判断用户余额不足,退出;
最后扣减余额。
代码示例:
package com.itheima.mp.service.impl;import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.itheima.mp.domain.po.User;
import com.itheima.mp.mapper.UserMapper;
import com.itheima.mp.service.IUserService;
import org.springframework.stereotype.Service;@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IUserService {@Overridepublic void deductBalance(Long id, Integer money) {// 1.查询用户User user = getById(id);// 2.判断用户状态if (user == null || user.getStatus() == 2) {throw new RuntimeException("用户状态异常");}// 3.判断用户余额if (user.getBalance() < money) {throw new RuntimeException("用户余额不足");}// 4.扣减余额baseMapper.deductMoneyById(id, money);}
}