Skip to content

Commit

Permalink
model sup
Browse files Browse the repository at this point in the history
  • Loading branch information
xXkoshmarikXx committed Jan 18, 2024
1 parent 38f3760 commit 26689b9
Show file tree
Hide file tree
Showing 36 changed files with 1,227 additions and 651 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
import org.apache.commons.lang3.time.DateFormatUtils;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.json.JSONObject;

import com.inqwise.opinion.common.IOpinionAccount;
import com.inqwise.opinion.common.IPostmasterContext;
Expand All @@ -29,7 +29,9 @@
import com.inqwise.opinion.infrastructure.systemFramework.GeoIpManager;
import com.inqwise.opinion.infrastructure.systemFramework.JSONHelper;
import com.inqwise.opinion.library.common.IProduct;
import com.inqwise.opinion.library.common.InvoiceModel;
import com.inqwise.opinion.library.common.accounts.AccountModel;
import com.inqwise.opinion.library.common.accounts.AccountOperationModel;
import com.inqwise.opinion.library.common.accounts.AccountOperationsReferenceType;
import com.inqwise.opinion.library.common.accounts.AccountsOperationsType;
import com.inqwise.opinion.library.common.accounts.IAccount;
Expand All @@ -54,9 +56,6 @@
import com.inqwise.opinion.library.managers.ProductsManager;
import com.inqwise.opinion.library.managers.ServicePackagesManager;

import net.casper.data.model.CDataCacheContainer;
import net.casper.data.model.CDataRowSet;

public class AccountsEntry extends Entry {

static ApplicationLog logger = ApplicationLog.getLogger(AccountsEntry.class);
Expand Down Expand Up @@ -157,35 +156,29 @@ public JSONObject getTransactions(JSONObject input) throws IOException, JSONExce
result = BaseOperationResult.validateWithoutLog(null == groupBy || groupBy.equalsIgnoreCase("month"), ErrorCode.ArgumentWrong, "groupBy");

if (null == result) {
CDataCacheContainer ds = AccountsOperationsManager
.getAccountOperations(top, accountId,
accountOperationTypeIds, referenceId,
referenceTypeId, fromDate, toDate, true);
List<AccountOperationModel> accountOperationList = AccountsOperationsManager.getAccountOperations(top, accountId,accountOperationTypeIds, referenceId,referenceTypeId, fromDate, toDate, true);
JSONArray ja = new JSONArray();
CDataRowSet rowSet = ds.getAll();
CDataRowSet invoicesRowSet = null;
TreeMap<Date, JSONObject> groupsMap = null;
BigDecimal groupDebit = null;
BigDecimal groupCredit = null;
List<InvoiceModel> invoiceList = null;
if (null != groupBy) {
groupDebit = new BigDecimal(0.0);
groupCredit = new BigDecimal(0.0);
invoicesRowSet = InvoicesManager.getInvoices(top, accountId,
InvoiceStatus.Open.getValue(), false).getAll(null, true);
invoiceList = InvoicesManager.getInvoices(top, accountId,InvoiceStatus.Open.getValue(), false);
groupsMap = new TreeMap<>();
}

JSONObject lastFundJo = null;
BigDecimal totalDebit = BigDecimal.ZERO;
BigDecimal totalCredit = BigDecimal.ZERO;

while(rowSet.next()){
for(var accountOperationModel : accountOperationList){
JSONObject jTransaction = new JSONObject();
jTransaction.put("transactionId", rowSet.getLong("accop_id"));
Integer accountOperationTypeId = rowSet.getInt("accop_type_id");
jTransaction.put("typeId", accountOperationTypeId);
jTransaction.put("userId", rowSet.getLong("user_id"));
Double amount = rowSet.getDouble("amount");
jTransaction.put("transactionId", accountOperationModel.getId());
jTransaction.put("typeId", accountOperationModel.getType().getValue());
jTransaction.put("userId", accountOperationModel.getUserId());
Double amount = accountOperationModel.getAmount();
if(null != amount){
jTransaction.put("amount", amount);
if (amount < 0) {
Expand All @@ -203,16 +196,16 @@ public JSONObject getTransactions(JSONObject input) throws IOException, JSONExce
jTransaction.put("credit", 0);
}
}
Double balance = rowSet.getDouble("balance");
Double balance = accountOperationModel.getBalance();
jTransaction.put("balance", balance);
Date modifyDate = rowSet.getDate("modify_date");
Date modifyDate = accountOperationModel.getModifyDate();
jTransaction.put("modifyDate", JSONHelper.getDateFormat(modifyDate, "MMM dd, yyyy"));
Long accountOperationReferenceId = rowSet.getLong("reference_id");
Long accountOperationReferenceId = accountOperationModel.getReferenceId();
jTransaction.put("referenceId", accountOperationReferenceId);
jTransaction.put("comments", rowSet.getString("comments"));
jTransaction.put("creditCard",rowSet.getString("credit_card_number"));
jTransaction.put("creditCardTypeId",rowSet.getInt("credit_card_type_id"));
jTransaction.put("chargeDescription",rowSet.getString("charge_description"));
jTransaction.put("comments", accountOperationModel.getComments());
jTransaction.put("creditCard",accountOperationModel.getCreditCardNumber());
jTransaction.put("creditCardTypeId",accountOperationModel.getCreditCardType());
jTransaction.put("chargeDescription",accountOperationModel.getChargeDescription());

if (null == groupsMap) {
ja.put(jTransaction);
Expand Down Expand Up @@ -248,19 +241,16 @@ public JSONObject getTransactions(JSONObject input) throws IOException, JSONExce
}

if (null == lastFundJo
&& rowSet.getInt("accop_type_id") == AccountsOperationsType.Fund.getValue()) {
&& accountOperationModel.getType() == AccountsOperationsType.Fund) {
lastFundJo = jTransaction;
}
}

if(null != invoicesRowSet){
while (invoicesRowSet.next()) {
if(null != invoiceList){
for(var invoiceModel : invoiceList) {
JSONObject jInvoice = new JSONObject();
jInvoice.put("invoiceId",invoicesRowSet.getString("invoice_id"));
jInvoice.put("invoiceId",invoiceModel.getInvoiceId());

Date groupDate = DateConverter
.shiftToTheEndOfTheMonth(invoicesRowSet
.getDate("invoice_to_date"));
Date groupDate = DateConverter.shiftToTheEndOfTheMonth(invoiceModel.getInvoiceToDate());
JSONObject jGroup = groupsMap.get(groupDate);
if (null == jGroup) {
jGroup = createJGroup(groupDate);
Expand Down Expand Up @@ -965,7 +955,7 @@ public JSONObject changeSessionsBalance(final JSONObject input) throws JSONExcep
int servicePackageId = input.getInt("packageId");

if(amount != 0 || null != unlimitedBalance){
result = com.inqwise.opinion.opinion.managers.AccountsManager.changeSessionsBalance(accountId, servicePackageId, amount, unlimitedBalance);
result = com.inqwise.opinion.managers.AccountsManager.changeSessionsBalance(accountId, servicePackageId, amount, unlimitedBalance);
} else {
result = new OperationResult<Long>(ErrorCode.ArgumentWrong);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@

import com.inqwise.opinion.common.ExportType;
import com.inqwise.opinion.common.IPostmasterContext;
import com.inqwise.opinion.common.ResultModel;
import com.inqwise.opinion.common.opinions.IOpinion;
import com.inqwise.opinion.infrastructure.common.IOperationResult;
import com.inqwise.opinion.infrastructure.systemFramework.GeoIpManager;
Expand All @@ -58,11 +59,6 @@
import com.inqwise.opinion.managers.OpinionsManager;
import com.inqwise.opinion.managers.ResultsManager;

import net.casper.data.model.CDataCacheContainer;
import net.casper.data.model.CDataGridException;
import net.casper.data.model.CDataRowSet;


public class ExportHandler extends HandlerBase {

private static final Format formatter = new SimpleDateFormat("MMM dd, yyyy HH:mm:ss");
Expand Down Expand Up @@ -164,10 +160,9 @@ private byte[] exportParticipants(JSONObject input,
boolean includePartial = JSONHelper.optBoolean(input, "includePartial", true);
TreeMap <Long, Integer> headerIdsMap = new TreeMap<>();

CDataCacheContainer ds = ResultsManager.getAllResults(opinionId, null, sessionsArr, includePartial, headerIdsMap);
List<ResultModel> reSultList = ResultsManager.getAllResults(opinionId, null, sessionsArr, includePartial, headerIdsMap);
String[] dynamicColumnsHeader = new String[headerIdsMap.size()];

CDataRowSet rows = ds.getAll();
List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> dict = null;
LinkedHashMap<String, CellProcessor> headerSet = new LinkedHashMap<>();
Expand All @@ -182,18 +177,18 @@ private byte[] exportParticipants(JSONObject input,
}

String participantGuid = null;
while(rows.next()){
String currentParticipantGuid = rows.getString("answer_session_id");
for(var resultModel : reSultList){
String currentParticipantGuid = resultModel.getAnswerSessionId();
if(null == dict || (!participantGuid.equals(currentParticipantGuid))){
dict = new LinkedHashMap<String, Object>();
participantGuid = currentParticipantGuid;
list.add(dict);

// Add required columns:
dict.put(PARTICIPANT_COLUMN_NAME, currentParticipantGuid);
dict.put(COLLECTOR_COLUMN_NAME, rows.getString("collector_name") + " #" + rows.getLong("collector_id"));
dict.put(PARTICIPANT_INSERT_DATE_COLUMN_NAME, rows.getDate("participant_insert_date"));
String clientIp = rows.getString("client_ip");
dict.put(COLLECTOR_COLUMN_NAME, resultModel.getCollectorName() + " #" + resultModel.getCollectorId());
dict.put(PARTICIPANT_INSERT_DATE_COLUMN_NAME, resultModel.getParticipantInsertDate());
String clientIp = resultModel.getClientIp();
String countryName = null;
try{
countryName = GeoIpManager.getInstance().getCountryName(clientIp);
Expand All @@ -203,14 +198,14 @@ private byte[] exportParticipants(JSONObject input,
dict.put(CLIENT_IP_COLUMN_NAME, clientIp);
dict.put(CLIENT_COUNTRY_COLUMN_NAME, countryName);
if(includePartial){
dict.put(COMPLETED_COLUMN_NAME, rows.getBoolean("is_completed"));
dict.put(COMPLETED_COLUMN_NAME, resultModel.getIsCompleted());
}
}
String columnPrefix = rows.getString("control_key");
String columnPrefix = resultModel.getControlKey();
if(null == columnPrefix){
columnPrefix = rows.getString("control_content");
columnPrefix = resultModel.getControlContent();
}
Long controlId = rows.getLong("control_id");
Long controlId = resultModel.getControlId();
String columnName = columnPrefix + " #" + controlId;

Integer index = headerIdsMap.get(controlId);
Expand All @@ -219,10 +214,10 @@ private byte[] exportParticipants(JSONObject input,
dynamicColumnsHeader[index] = columnName;
}

dict.put(columnName, rows.getString("answer_value"));
dict.put(columnName, resultModel.getAnswerValue());
}

dict.put(columnName, rows.getString("answer_value"));
dict.put(columnName, resultModel.getAnswerValue());
}

for (int i = 0; i < dynamicColumnsHeader.length; i++) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@
import com.inqwise.opinion.infrastructure.systemFramework.DateConverter;
import com.inqwise.opinion.infrastructure.systemFramework.GeoIpManager;
import com.inqwise.opinion.infrastructure.systemFramework.JSONHelper;
import com.inqwise.opinion.library.common.AccountOperationModel;
import com.inqwise.opinion.library.common.InvoiceItemModel;
import com.inqwise.opinion.library.common.InvoiceModel;
import com.inqwise.opinion.library.common.accounts.AccountOperationModel;
import com.inqwise.opinion.library.common.accounts.AccountsOperationsType;
import com.inqwise.opinion.library.common.accounts.IAccountBusinessDetails;
import com.inqwise.opinion.library.common.errorHandle.BaseOperationResult;
Expand Down Expand Up @@ -97,7 +97,7 @@ public JSONObject getInvoiceDetails(JSONObject input) throws IOException, JSONEx
output.put("charges", getCharges(invoice));
output.put("transactions", getTransactions(invoice, fromDate, toDate));
} else {
Map<InvoiceItemType, List<InvoiceItemModel>> invoiceItems = InvoicesManager.getInvoiceItems(invoiceId);
Map<InvoiceItemType, List<? extends InvoiceItemModel>> invoiceItems = InvoicesManager.getInvoiceItems(invoiceId);
output.put("charges", getCharges(invoiceItems));
output.put("transactions", getTransactions(invoiceItems, invoice.getTotalCredit(), invoice.getTotalDebit()));
}
Expand All @@ -120,7 +120,7 @@ private JSONObject getTransactions(IInvoice invoice, Date fromDate, Date toDate)
MutableDouble totalCredit = new MutableDouble();
MutableDouble totalDebit = new MutableDouble();

List<InvoiceItemModel> list = AccountsOperationsManager.getAccountOperations(DRAFT_MAX_INVOICE_ITEMS, invoice.getForAccountId(),DRAFT_ACCOUNT_OPERATIONS_TYPE_IDS,null, null, fromDate, toDate, true);
List<AccountOperationModel> list = AccountsOperationsManager.getAccountOperations(DRAFT_MAX_INVOICE_ITEMS, invoice.getForAccountId(),DRAFT_ACCOUNT_OPERATIONS_TYPE_IDS,null, null, fromDate, toDate, true);

JSONArray ja = getTransactionsList(list, totalCredit, totalDebit);
JSONObject output = new JSONObject();
Expand Down Expand Up @@ -494,8 +494,8 @@ private BaseOperationResult completeInvoiceGeneration(long invoiceId,
//AccountOperations
List<Long> accountOperationsIds = new ArrayList<Long>();
for(var accountOperationModel : accountOperationList) {
accountOperationsIds.add(accountOperationsRowSet.getLong("accop_id"));
Double amount = accountOperationsRowSet.getDouble("amount");
accountOperationsIds.add(accountOperationModel.getId());
Double amount = accountOperationModel.getAmount();
if(null != amount){
if(amount < 0)
{
Expand Down Expand Up @@ -587,21 +587,21 @@ public double getTotalCredit() {
}

private JSONObject getCharges(
Map<InvoiceItemType, List<InvoiceItemModel>> invoiceItems) throws JSONException {
Map<InvoiceItemType, List<? extends InvoiceItemModel>> invoiceItems) throws JSONException {
JSONObject output = new JSONObject();
JSONArray ja = new JSONArray();
List<InvoiceItemModel> chargeslist = invoiceItems.get(InvoiceItemType.Charge);
if(null != chargeslist){
for(var invoiceItemModel : chargeslist){
Long chargeId = invoiceItemModel.getChargeId();
BigDecimal amount = BigDecimal.valueOf(invoiceItemModel.getAmount());
int chargeStatusId = invoiceItemModel.getChargeStatusId();
var list = invoiceItems.get(InvoiceItemType.Charge);
if(null != list){
for(var invoiceItemModel : list){
var chargeModel = (ChargeModel)invoiceItemModel;
Long chargeId = chargeModel.getId();
BigDecimal amount = BigDecimal.valueOf(chargeModel.getAmount());
JSONObject jCharge = new JSONObject();
jCharge.put("chargeId", chargeId);
jCharge.put("statusId", chargeStatusId);
jCharge.put("name", invoiceItemModel.getChargeName());
jCharge.put("description", invoiceItemModel.getChargeDescription());
jCharge.put("chargeDate", JSONHelper.getDateFormat(invoiceItemModel.getInsertDate(), "MMM dd, yyyy"));
jCharge.put("statusId", chargeModel.getStatus().getValue());
jCharge.put("name", chargeModel.getName());
jCharge.put("description", chargeModel.getDescription());
jCharge.put("chargeDate", JSONHelper.getDateFormat(chargeModel.getCreateDate(), "MMM dd, yyyy"));
jCharge.put("amount", amount);
ja.put(jCharge);
}
Expand All @@ -611,10 +611,10 @@ private JSONObject getCharges(
}

private JSONObject getTransactions(
Map<InvoiceItemType, List<InvoiceItemModel>> invoiceItems, Double totalCredit, Double totalDebit) throws JSONException {
Map<InvoiceItemType, List<? extends InvoiceItemModel>> invoiceItems, Double totalCredit, Double totalDebit) throws JSONException {

JSONArray ja;
List<InvoiceItemModel> transactionslist = invoiceItems.get(InvoiceItemType.AccountOperation);
var transactionslist = invoiceItems.get(InvoiceItemType.AccountOperation);

if(null != transactionslist){
ja = getTransactionsList(transactionslist, null, null);
Expand All @@ -631,15 +631,16 @@ private JSONObject getTransactions(
return output;
}

public JSONArray getTransactionsList(List<InvoiceItemModel> list, MutableDouble totalCredit, MutableDouble totalDebit)
public JSONArray getTransactionsList(List<? extends InvoiceItemModel> list, MutableDouble totalCredit, MutableDouble totalDebit)
throws JSONException {

JSONArray ja = new JSONArray();
for(var invoiceItemModel : list){
var operationModel = (AccountOperationModel)invoiceItemModel;
JSONObject jTransaction = new JSONObject();
jTransaction.put("transactionId", invoiceItemModel.getAccopId());
jTransaction.put("typeId", invoiceItemModel.getAccopTypeId());
Double amount = invoiceItemModel.getAmount();
jTransaction.put("transactionId", operationModel.getId());
jTransaction.put("typeId", operationModel.getType());
Double amount = operationModel.getAmount();
if(null != amount){
jTransaction.put("amount", amount);
if(amount < 0)
Expand All @@ -662,12 +663,12 @@ public JSONArray getTransactionsList(List<InvoiceItemModel> list, MutableDouble
jTransaction.put("credit", 0);
}
}
jTransaction.put("balance", invoiceItemModel.getBalance());
jTransaction.put("modifyDate", JSONHelper.getDateFormat(invoiceItemModel.getModifyDate(), "MMM dd, yyyy"));
jTransaction.put("referenceId", invoiceItemModel.getReferenceId());
jTransaction.put("comments", invoiceItemModel.getComments());
jTransaction.put("creditCard", invoiceItemModel.getCreditCardNumber());
jTransaction.put("creditCardTypeId", invoiceItemModel.getCreditCardTypeId());
jTransaction.put("balance", operationModel.getBalance());
jTransaction.put("modifyDate", JSONHelper.getDateFormat(operationModel.getModifyDate(), "MMM dd, yyyy"));
jTransaction.put("referenceId", operationModel.getReferenceId());
jTransaction.put("comments", operationModel.getComments());
jTransaction.put("creditCard", operationModel.getCreditCardNumber());
jTransaction.put("creditCardTypeId", operationModel.getCreditCardType());

ja.put(jTransaction);

Expand Down
Loading

0 comments on commit 26689b9

Please sign in to comment.