Fixed activated issue and version bump.
This commit is contained in:
parent
046d6dda09
commit
be9edf18e4
2
pom.xml
2
pom.xml
|
@ -10,7 +10,7 @@
|
||||||
</parent>
|
</parent>
|
||||||
<groupId>nl.andrewl</groupId>
|
<groupId>nl.andrewl</groupId>
|
||||||
<artifactId>coyotecredit</artifactId>
|
<artifactId>coyotecredit</artifactId>
|
||||||
<version>1.3.0</version>
|
<version>1.3.1</version>
|
||||||
<name>coyotecredit</name>
|
<name>coyotecredit</name>
|
||||||
<description>Banking and stock trading application to teach students.</description>
|
<description>Banking and stock trading application to teach students.</description>
|
||||||
<properties>
|
<properties>
|
||||||
|
|
|
@ -122,13 +122,25 @@ public class ExchangeService {
|
||||||
@Transactional
|
@Transactional
|
||||||
public void addAccount(long exchangeId, User user, AddAccountPayload payload) {
|
public void addAccount(long exchangeId, User user, AddAccountPayload payload) {
|
||||||
Exchange exchange = getExchangeIfAdmin(exchangeId, user);
|
Exchange exchange = getExchangeIfAdmin(exchangeId, user);
|
||||||
|
Account userAccount = accountRepository.findByUserAndExchange(user, exchange).orElseThrow();
|
||||||
if (userRepository.existsByUsername(payload.username())) {
|
if (userRepository.existsByUsername(payload.username())) {
|
||||||
throw new ResponseStatusException(HttpStatus.BAD_REQUEST, "Username is taken.");
|
throw new ResponseStatusException(HttpStatus.BAD_REQUEST, "Username is taken.");
|
||||||
}
|
}
|
||||||
if (userRepository.existsByEmail(payload.email())) {
|
if (userRepository.existsByEmail(payload.email())) {
|
||||||
throw new ResponseStatusException(HttpStatus.BAD_REQUEST, "There is already an account with that email.");
|
throw new ResponseStatusException(HttpStatus.BAD_REQUEST, "There is already an account with that email.");
|
||||||
}
|
}
|
||||||
User newUser = userRepository.save(new User(payload.username(), passwordEncoder.encode(payload.password()), payload.email()));
|
User newUser = new User(payload.username(), passwordEncoder.encode(payload.password()), payload.email());
|
||||||
|
newUser.setActivated(true);
|
||||||
|
newUser = userRepository.save(newUser);
|
||||||
|
notificationRepository.save(new UserNotification(newUser, String.format(
|
||||||
|
"Welcome to Coyote Credit, %s. Your account has been created automatically by %s, " +
|
||||||
|
"so that you can participate in %s. The primary trading currency for that exchange " +
|
||||||
|
"is the %s.",
|
||||||
|
payload.accountName(),
|
||||||
|
userAccount.getName(),
|
||||||
|
exchange.getName(),
|
||||||
|
exchange.getPrimaryTradeable().getName()
|
||||||
|
)));
|
||||||
Account account = accountRepository.save(new Account(AccountNumberUtils.generate(), newUser, payload.accountName(), exchange));
|
Account account = accountRepository.save(new Account(AccountNumberUtils.generate(), newUser, payload.accountName(), exchange));
|
||||||
for (var t : exchange.getAllTradeables()) {
|
for (var t : exchange.getAllTradeables()) {
|
||||||
account.getBalances().add(new Balance(account, t, BigDecimal.ZERO));
|
account.getBalances().add(new Balance(account, t, BigDecimal.ZERO));
|
||||||
|
|
Loading…
Reference in New Issue