Mergi la conținut
KAMOUniverse

Jurnal de schimbări

Ce e nou.

Fiecare îmbunătățire a platformei, pe măsură ce se livrează.

  1. · SecurityService

    Administratorul pieţelor de capital citeşte proxy pentru Centrul de Comandă

    Adăugați un proxy MLOS numit, numai citire, care permite kamo-internal Capital & Risc Centrul de comandă ajunge la MLOSCapitalMarketsServicii fără a expune intern rețea sau secret pentru browser: - MlosBaseController: ajutor de sesiune OTK (org + operator/zeu) Poarta). NU extinde baza LOS cu bani grei și nu introduce niciun nume LOS Dreapta MLOS este un sistem distinct. - MlosCapitalMarketsController @ ***************** rezolvă operatorul org din sesiune, porțile operatorului (modul-zeu), injectează organizația proprie a operatoruluiId în MLOS telescopic-org citește (niciodată un client valoare), și nu reușește să închidă compozite by-id citește împotriva acces inter-org. - MlosCapitalMarketsClient: RestTemplate to kamomloscapitalmarkets-service with secretul comun X-Normal-Auth (organizareId trecut ca param interogare). - configurare: mlos.capital-markets.url (env-overrible). Reuses the already-wired Intern.auth.secret. Atins prin pătură APIserv's pătură /api/security/** releu.

  2. · kamo-internal

    Consolă administrator MLOS Capital & Risk Command Center

    Adăugați consola AI-Native ipotecar sub /commerce (Piața MORTAGE tab), înlocuind sub-tabelele deţinute/angajamente cu IpotecareStewardSection + tab-uri interioare cu ecrane. Primul ecran: Capitala & Risk Command Center on the expedited MLOSCapitalMarketsService reads (locks by stare/scenariu + finanțare prin conducte P (fond) p5/p50/p95), susținută în prezent în spatele unui client tipat (un singur fișier de schimb către calea de citire live). - Kit de consola reutilizabila latime completa: ConsoleShell, SectionCard, KpiTile, StatusPill + ambalaje de mișcare (CountUp, Stagger, Crossfade) conştient, alb-etichetă prin - color-primar. - Fan de finantare semnatura (p5/mediana/p95), conducta de blocare filtrabila cu numărătoare inversă a tonurilor de expirare, sertar cu detaliu închis (timpul ciclului de viață + AI rațiune de decizie), defalcare segment, onest "în curând" benzi. - Tastatură/ARIA pe toate rândurile interactive, contrast WCAG-AA, următorul-intl.

  3. · kamo-internal

    Sistem Comută la scară largă + editor de balanță de credit + filtru în cascadă; filtru/linkuri/paginare membru istoric; injectați pictogramă+ INJECTUL confirmă

    - /liders/credits: right-aligned 'System Wide:' Dropdown activ/suspendat; Soldul creditului utilizează InfinityCell capabil de ∞ (în scădere invalidări, frunze de ∞ ca-is); filtru de produs cascade din Vendor (dezactivate/resetate atunci când vânzător = Toate). - /conducere/istorie: filtru de membru unic manager (cu suport VIEW LEADS, alfabetic), ID de plumb + link-ul de nume de contact la plumb, paginație complet server-side. - /conduși/disponibili: Injectați plumbul de testare este acum un buton exclusiv pentru pictogramă cu vârful unui instrument. - ConfirmareDialog: provocare opţionalăProprietate Word (Utilizări inject 'INJECT'); fluxuri de îndepărtare Păstrați cuvântul aleator neschimbat.

  4. · SecurityService

    Comutatoare la nivel de sistem, vizualizatoare de plumb, editarea echilibrului de credit, paginarea istoriei

    - /credite/sistem GET+PATT (org credit-suspendare), /credite/vizitatori de plumb (VIEW LEADS) suporturi inclusiv grant-toți) pentru filtrul pentru membrii istorici. - Echilibrul de credit editat pe PATCH/allotments/{id}: numărul scade prin invalidare, nul = ∞. - /liders/history now paginated (page/size/total) + returns lead contactName. - disponibilSummary + disponibil () gate credit acception on the org System Wide switch.

  5. · kamo-shared-library

    Suspendarea creditului la nivelul întregului sistem, invalidarea soldului creditului, istoricul paginat

    - OrgLeadConfig (noua masă ORG LEAD CONFIG): comutator "System Wide" la nivel org care suspendă Atribuirea automată a plumbului pe bază de credit (FFA neafectat); poarta de acces la următoarea pistă (nouă Comment - *************** + invalidare repoCreditsByIds: reduce a soldul disponibil al membrului către un obiectiv prin invalidarea excesului de vârstă-primul. - CreditAsignmentHistoryService: server-side pagine (getHistoryPage/PaginageHistory) + contact cu plumb per-intrare Nume (rezolvat numai pentru pagina vizibilă).

  6. · kamo-internal

    Se împarte creditele de plumb în acțiuni disponibile/de istorie/de administrare a creditelor

    Reordonează / conduce acțiunile de top-dreapta la: Adăugați plumb nou, piste disponibile (→/lides/disponibile, Pictogramă Bolt + indicator de disponibilitate live, afișat cu Spend/Receive), Istorie (→/lides/history, Istorie pictogramă), Manage Credits (→/Leads/credits, Credit Card pictograma, numai manageri). Înlocuieşte un singur buton "Lead Credits" care a indicat la /liders/allotments redirecționare.

  7. · kamo-internal

    Se injectează acțiunea cu plumb de încercare pe/lide/disponibile (numai manageri)

    Adaugă un buton 'Inject Test Lead' lângă Accept pentru fiecare vânzător/produs, afișat numai membri cu manageri. Deschide un dialog de confirmare, apoi Posts la noua injecție criteriul final; plumbul sintetic aterizează în piscină și grila reîmprospătează trăiesc.

  8. · SecurityService

    Injectați plumbul de încercare + fixați lista de management-Credite pentru admins grant-toate

    - Noul post ***************** (MANAGE CREDITS): creează un sintetic "Void > Test Lead" (John Doe / 555-555-5555 / noreply@<org base domain>) cu necesssignment = true into the date market/vendor/product auto-assignment pool so fluxul Accept poate fi exercitat de la un capăt la altul; publică disponibilitatea pentru actualizări live. - Managing-Credits-membre lista eligibile acum sindicate grant-toți membrii (proprietari/admini ale căror *** este populat cu toate drepturile) cu interogarea explicit-drepturi, astfel încât un grant-toate admin care deține SPEND RECEVE în sesiune, dar nu are nici un membru explicit Rândul aplicat Acum apare pe listă. - Extrased the session's grant-all detection in GrantAllRoleRezolver and reutilization it in atât PostAuth***Service (nicio schimbare de comportament) și LeadCreditController.

  9. · kamo-shared-library

    Stochează cheia originală de fișier uploadat pe LeadImport run

    Adaugă SOURCE FILE KEY + SOURCE FILE CONTENT TYPE coloane, astfel încât o referință run fișier original arhivat în MinIO (KamoInitializer adaugă coloanele pe rula următoare).

  10. · kamo-internal

    Arhiva & descărcarea fișierului importat original

    La Start Import fișierul brut este încărcat (cel mai bun efort) și cheia acestuia a trecut la import Post; Trest Imports arată un buton de descărcare pentru rulează cu un fișier arhivat. +2 proxy rute (source-file upload + download), +2 taste i18n.

  11. · SecurityService

    Arhiva fișier original la MinIO + obiectivul de descărcare

    Injectează MiniOStorageService; POST /Source-file stochează încărcarea brută în privat găleată internă; GET / {id} / source-file drives it back (org-verificat); cheia este filetată prin Poșta de import și persistImportRun; GET history now returns hasSourceFile.

  12. · kamo-internal

    Șabloane de import + subtabe de import din trecut, autodetecte, reimport

    - Sub-tab bar în LeadManualImportManager: Importul de plumb - LeadImportTemplateManager: lista șablon/creare/edit/delete + upload-against-templlate (import-as-is sau ajustare cartografiere); reutilizează FieldMappingInterface în modul agnostic fișier - LeadImportHistoryManager: ruleaza lista cu iconul de eroare importat/total +, raport de eroare, Rânduri eșuate de reimport (ajustare de cartografiere opțională) - Auto-detectează: pe parse fișier, antete POST la /detectează; alege un șablon potrivit sau face nou; salvat-ca-templu la sfârșitul unui nou import - FieldMappingInterface: parsedData opțională + antetele prop pentru modul șablon-edit - Următoarele rute proxy pentru lead-import-templets / * și ***************

  13. · SecurityService

    Rulări/recorduri persiste, șablon CRUD, antet auto-detect și re-import

    - LeadImportPersistenceService: antet normalizeaza+SHA3 amprenta (comandat/neordonat), maping/row JSON round-trips, persist run + non-success records, template detect (Jaccard) - LeadImportTemplateController: ************* CRUD + /detect (org-scoped) - LeadImportController: pagina reală GET history; Post persistă run + non-success randuri și returnează importId real (fileName/templlateId via interogare param); +GET / {id}/records și Post / {id}/reimport-failed; processImport refactored to emit per-row RowOutcomes (global indexul rândului, creatLeadUid) păstrând în același timp corectitudinea faze-0

  14. · kamo-internal

    Indicator de disponibilitate live pe butonul Lead Credits

    Oglindeşte indicatorul NavPri Leads pe /conduce acţiunea 'Lead Credits': a punct de stare verde/roșu (verde = un plumb este acceptabil acum prin FFA sau credit, roșu = zero) și un puls verde / luminos atunci când o pistă de credit acceptabilă este în așteptare. Gate pe semnalul SPEND RECEIVE LEAD CREDIT (LeadAlert.active). Verde este fixat aici (aceasta este acțiunea de credite), spre deosebire de tema-agnostic alb NavPri clipește.

  15. · kamo-internal

    Alertă directă NavPri

    - LeadAlertProvider (global, montat la nivelul NavPri): cu motor/summar disponibil/conduce toate stările - Pictogramă NavPri cu plumb: punct verde (poate accepta) / roșu (nu poate); clipi vizibil atunci când un plumb de credit este Acceptabil. Gated in intregime pe SPEND RECEVE LEAD CREDIT - NewLeadPopup: foc popup cu ecran central (flacără + flăcări animate), Accept plumb / Nu acum (ambele 1s cu handicap), se închide automat cu un 1s se estompeze în cazul în care piscina este drenat, fără fundal-aproape. Numai incendii pe o nouă pistă de credit acceptabilă atunci când statutul de nav-top este disponibil. - LiveEdgeTrim: kamo-marketing LIVE shimmer înfășurat în jurul tuturor 4 marginile ecranului în timp ce popup-ul este în sus. Toate trăiesc peste NATS->STOMP.

  16. · SecurityService

    GET / plumb / sumar disponibil pentru alerta de plumb NavPri live

    Agregază acceptabilitatea apelantului pe toate piețele active (poarta de comandă + credit/FFA/ norme privind cheltuielile zilnice). Description Description.

  17. · kamo-shared-library

    Persistență coloană vertebrală pentru șabloane de import, rulează & înregistrări pe rând

    Înlocuiește entitățile goale cu clase reale @Entity (modelate pe LeadIntake* precedent: UUID id, gen random uid, DB-default time stamp, statusId + @Transient enum) plus depozite, deci manuale-import șabloane, trecut-import istoricul și reimportul în rândul eșuat pot persista: - LeadImportTemplate (+ antetHashOrdered/Neordonated amprentation, useCount, soft-delete) - LeadImportTemplateMapping - Nu. JSON) - LeadImport (run header: contes, mapping snapshot, șablon/source lineage) - LeadImportRecords (per non-success row: rawRowJson, status, errorMessage) - LeadImportRecordStatus enum + 4 depozite Mesele sunt create de KamoInitializer (dddl-auto) pe termen următor; servicii sejur ddl-auto:nici unul.

  18. · kamo-internal

    /Account-stilul antet+tabs, /conserve card de plumb, gating dreapta

    - LeadsCreditLayout: gradient antet erou + subliniere file (matches / account); filtre+grid în carte rotundă / în stil de plumb; filă disponibilă cu poartă de către SPEND RECEIVE LEAD CREDIT - Gestionaţi grila Credits populată din membri care deţin SPEND RECEVE (membru x matrice de produse, crea-on-edit); /lides-tyle filtru container -/liders/disponibil guards on the right; / leads/allotments redirection is right-aware - Vedere de plumb: Mark-as-Requires-Reasignment action (Mark right) + reassigned gated by REASsign LEADS MANUAL - RolRightType.ts: 3 noi drepturi

  19. · SecurityService

    Mark-reasignment poartad by MARK right; Manage-Credits returnează membrii cu Spend/Receptive right

    LeadAcceptController: marca-reatribuire necesită MARK LEADS REQUIRES ASsignMENT. LeadCreditController.manage: returnează membrii eligibili (SPEND RECEIVE LEAD CREDIT).

  20. · kamo-shared-library

    3 Drepturi CRM + interogare a membrilor cu drepturi

    Role RightType: SPEND RECEIVE LEAD CREDIT (147), *************** CRM. Nu-ţi face griji. pentru listarea membrilor care dețin un drept. Auto-vindecare pe boot Security Service; nici o schimbare schema.

  21. · InitializerService

    Codifică §4.2 cerințe-scriitor unic-unic

    Cel mult ONE LIVE cerince per (loan file uid, img doc type id, party) celula obligatiei. *************% idepotenta aplicatiei nu se poate prinde un dublu-instantiat concomitent (ambele citit zero-viu; stare + Cerința INSERT la diferite tabele → niciun conflict CRDB). Această unică parţială face o singură viaţă structurală. Oglinzi Nu-ţi face griji. DocumentRequirementStatus is @Enumerated (STRING). Creaţi dacă nu există.

  22. · kamo-shared-library

    - Nu. (Coloană acceptată astăzi)

    Contele conduce un membru acceptat prin credit/FFA pentru un produs furnizor de la un UTC instant (membru local start-of-day). Consumat de LeadAcceptController / leads/disponibil.

  23. · kamo-internal

    IU (disponibil/istorie/credite)

    - /conducere/disponibilă: reţea de vânzători/produse în timp real, acceptare atomică (rute către plumb), comment-gate block state, rânduri animate momentul în care un plumb este revendicabil - /lide/istorie: credit live + calendar de atribuire cu filtru de tip eveniment - /conduceri/credite: MANAGE CREDITS-gated grupate grid; ∞-capabil Daily Allotment / Max Echilibru / Max Daily Spend / Soldul creditului, Comută activ/suspendat, distribuie, clipește live - Leads SharedCreditLayout (tab-uri nav + sub-tabe de piață + "CRM neconfigurat" state + Quick Tips) - Cârlig STOMP (folosesteCreditAsignmentWebSocket) peste MediaService; folosestePietele - 10 rute proxy; - Nu. /liders/allotments acum redirecționează tsc --noEmit: 0 erori în fișiere noi.

  24. · kamo-shared-library

    Adaugă *************** pentru decizia de înregistrare jumătate

    doc 11 §5.3 pas 4 / §10 audit complet WORM Aidecation + LoanIdentifierEvent. Acest lucru adaugă AiFunction **************** Coloana a fost rezervată. Doar pentru aditivi (nici o versiune cucui, nu DDL: ai function has no lista albă de verificare .

  25. · DaemonService

    Coordonarea zilnică își pierde locul de muncă de audit (oral, pe an)

    Înregistrări Rânduri FORFEITED pentru membrii cu alocări de picurare care nu au semnat pe lor Am terminat ziua locală. Ipotent, randamente la rândurile atribuite. Compilații curate (mvn).

  26. · MediaService

    Relay credit / leader-asignment NATS evenimente la STOMP

    Subscrie securitate.conduce.> și de securitate.credite >, oglinzi fiecare la /topic /... astfel încât CRM front-end actualizează grila Leads-Available, Manage-Credits câmpurile, și istorie live. Compilații curate (mvn).

  27. · SecurityService

    Credit lead-asignment API *****************

    - LeadAcceptController: GET / leads/disponibil, POST / leads/accept (atomic, comment-gated, FFA + credit), GET / leads / uncommented, POST / leads/{id}/mark-reasignment, GET / leades/history - LeadCreditController (MANAGE CREDITS): GET /credits/manage grid, Post /credits/distribute, POST/PATCH /credite/alloturi, POST /credite/grant zilnic - CreditAsignmentPublisher: org-scoped NATS events Nu-ţi face griji. - PostAuth***Service: acorda alocarea zilnica la prima inscriere a zilei locale a membrilor Compilații curate (mvn).

  28. · kamo-shared-library

    Servicii de orchestrare a creditelor (partajat-lib)

    - LeadAllotment.isInfiniteBalance (∞ credit balance → ment-on-the-fly at accept) - CreditLeadAsignmentService: atomic Accept-Lead (select→lock→recheck→claim, multi-intendance seif), FFA bypass, comment gate, mark-for-reasignment (MARKED FOR REASsignment history) - DailyAllotmentService: per-membre-timezone per zi grant (idempotent) + remiză audit - CreditAsignmentIstorieServicii: misiune unificată + ciclu de viaţă de credit - *************** (Istoria creditului la nivel general) Compoziții existente Lead*Service; nicio logică duplicată. Compilații curate (mvn).

  29. · kamo-shared-library

    Atribuirea de credite de ajutor în cadrul unui fond comun

    - ****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** acceptarea unei alte "poarte de plumb" (comentariu = MediaObj nerecomandat de membru în fluxul de plumb) - ******************* pe creditul de produs cheltuieli pentru fluxul de plumb acceptat bazat pe credite Compilații curate (mvn). Aditiv; consumat de serviciul de orchestrare a acceptării (următorul).

  30. · kamo-shared-library

    Model de date privind creditul-asignare (shared-lib)

    - Lead: requiresAsignment flag + marcatForReasignmentAt/By (nullable; nul actor = seller/API import) - *************** + evenimentTypeForKey rutare + registru descriptor - *************** (Istorie la nivel general prin intermediul constructorului de predicate partajate) - RoleRightType.MANAGE CREDITS (146, CRM group) - DailyAllotment Entitatea grant + depozit (acordare pe zi, idepotent) - *************** limita de zi per membru - LeadRepository: asignable-pool count/fetch + pesimist-lock requirement (multi-intence safe) - LeadCreditRepository: pe-vendor-produs echilibru + numărul de cheltuieli zilnice Numai schema aditivului (noi coloane anulate/defaultate + tabel nou). Reutilizari existente - Nu. Compilații curate (mvn).

Universul tău te așteaptă.

Începeți gratuit în câteva minute.Adăugați produse oricând sunteți pregătit — fără migrare, fără autentificări noi.

Gratuit pentru totdeauna — nu este necesar un card de credit