У меня есть конечная точка, которая сохраняет транзакции пользователя, так что я могу рассчитать комиссию пользователя в конце месяца.Сохранение транзакций работает нормально, однако возврат списка транзакций не работает.Возвращает пустой список всегда, даже если есть данные.Я пробовал разные решения, но тот же результат, что я мог упустить.Я использую базу данных MySQL для сохранения своих данных.Это мой код:
Объект:
@Entity
@Table(name = "commission", uniqueConstraints = {
@UniqueConstraint(columnNames = "transactionsReference")
}
)
public class commission implements Serializable{
@Id @GeneratedValue(strategy=GenerationType.IDENTITY)
private int transactionId;
private String customerIdentification;
private String transactionsReference;
private double commission;
private double transactionAmount;
private String transactionType;
private String commissionClass;
private String commissionName;
private String transactionDate;
public commission() {
}
public commission(String customerID, String transactionsReference, double commission, double transactionAmount, String transactionType, String commissionClass, String commissionName, String transactionDate) {
this.customerIdentification = customerID;
this.transactionsReference = transactionsReference;
this.commission = commission;
this.transactionAmount = transactionAmount;
this.transactionType = transactionType;
this.commissionClass = commissionClass;
this.commissionName = commissionName;
this.transactionDate = transactionDate;
}
// Getters and setters omitted for brevity
}
Репозиторий:
public interface CommissionRepository extends CrudRepository<commission, Integer> {
public List<commission> findByCustomerIdentification(String customerId);
public List<commission> findByCommissionClass(String comclass);
public commission findByTransactionsReference(String ref);
}
Сервис:
@Service
@Transactional
public class CommisionService {
@Autowired
private CommissionRepository commission_repository;
public List<commission> getAllCommissions(String customerid) {
List<commission> userCommissions = commission_repository.findByCustomerIdentification(customerid);
if (userCommissions == null) {
throw new ResourceNotFoundException("Empty", "Missing Data Exception");
}
return userCommissions;
}
}
Класс контроллера:
@RestController
@Api(value = "TransactionsAPI", produces = MediaType.APPLICATION_JSON_VALUE)
public class CommissionsController {
@Autowired
private CommisionService transactionsService;
@RequestMapping(method = RequestMethod.POST, value = "/myendpoint/endpoint/getAll/customer/commissions/byCustomerID")
@ApiOperation("Get all customer commissions")
@ApiResponses(value = {
@ApiResponse(code = 200, message = "OK", response = TransactionResponse.class)})
public List<commission> getAllCollectionPoints(@Valid @RequestBody String cusid) {
return transactionsService.getAllCommissions(cusid);
}
}
Сущность:
@Entity
@Table(name = "commission", uniqueConstraints = {
@UniqueConstraint(columnNames = "transactionsReference")
}
)
public class commission implements Serializable{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int transactionId;
private String customerId;
private String transactionsReference;
private String commissionClass;
public commission() {
}
public commission(String customerId, String transactionsReference, String commissionClass) {
this.customerId = customerId;
this.transactionsReference = transactionsReference;
this.commissionClass = commissionClass;
}
public int getTransactionId() {
return transactionId;
}
public void setTransactionId(int transactionId) {
this.transactionId = transactionId;
}
public String getCustomerId() {
return customerId;
}
public void setCustomerId(String customerId) {
this.customerId = customerId;
}
public String getTransactionsReference() {
return transactionsReference;
}
public void setTransactionsReference(String transactionsReference) {
this.transactionsReference = transactionsReference;
}
public String getCommissionClass() {
return commissionClass;
}
public void setCommissionClass(String commissionClass) {
this.commissionClass = commissionClass;
}
}