Skip to content
CAI
Software that uses CAICheck a score

macrozheng/mall

45.3

Weak · 22 September 2026

68.5k

lines of production code

Java

primary language

6

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a multi-module e-commerce platform built on Spring Boot 3 and Java 17, designed to manage the full lifecycle of online retail operations. It comprises distinct services for administrative management, customer-facing portal interactions, product search via Elasticsearch, and backend infrastructure, all coordinated through Docker Compose. The architecture supports core business functions including product catalog management, order processing with payment integration, marketing promotions, and user authentication secured by JWT and dynamic role-based access control.

How it got here

2018 — Spring Boot 3 migration and admin API implementation

25 changes.

The project underwent a major infrastructure upgrade, migrating from Spring Boot 2 to version 3.5 and Java 17, while replacing Swagger 2 with SpringDoc OpenAPI 3. Concurrently, the mall-admin module was built out from scratch, establishing the complete backend architecture including controllers, services, and data models for product, order, and user management. This period also saw the introduction of new microservices for frontend portal interactions and Elasticsearch-based product search.

2019–2020 — Common infrastructure and deployment setup

11 changes.

This period focused on establishing foundational common utilities, including standardized API responses, global exception handling, and Redis caching abstractions. It also introduced comprehensive operational capabilities through Docker-based deployment configurations, automated shell scripts, and centralized web request logging via Logstash.

Features

Add Swagger configuration and web logging domain models

The common domain package now includes SwaggerProperties to configure Swagger documentation settings (such as API base package, security enablement, title, description, version, and contact details) and WebLog to encapsulate controller-level request logs (including description, user, timing, path, URI, method, IP, parameters, and results).

mall-common/src/main/java/com/macro/mall/common/domain · high confidence

Added Docker deployment scripts and configuration for mall services

New shell scripts (mall-admin.sh, mall-portal.sh, mall-search.sh, run.sh) and a Dockerfile have been added to the document/sh directory to facilitate containerized deployment. These scripts automate the process of stopping, removing, and rebuilding Docker images for the mall-admin, mall-portal, and mall-search services, and then starting new containers with specific port mappings, volume mounts for logs, and environment variables. The Dockerfile specifies an OpenJDK 17 base image and configures the container to run the mall-admin JAR file on port 8080.

document/sh · high confidence

Added MANIFEST.MF for MallAdminApplication

A new MANIFEST.MF file has been added to the mall-admin module's META-INF directory, explicitly defining the Main-Class as com.macro.mall.MallAdminApplication. This enables the module to be executed directly as a standalone Java application.

mall-admin/src/main/resources/META-INF · high confidence

Added app design specification document

A new markdown file (document/axure/app-design.md) has been added to the repository, defining the visual design specifications for the mobile application. This document outlines standard dimensions for Android and iOS platforms, typography sizes, layout metrics (such as column widths and padding), icon sizes, and a defined color palette including primary, background, and text colors. This serves as a reference for UI consistency during the app's development.

document/axure · high confidence

Added data models for shopping cart, flash promotions, and admin permissions

The model layer now includes new entity classes and MyBatis-Generator query examples to support shopping cart operations (OmsCartItem), limited-time flash promotion sessions and product relations (SmsFlashPromotionSession, SmsFlashPromotionProductRelation), and admin role/permission management (UmsAdminPermissionRelation, UmsAdminRoleRelation, UmsMenu, UmsPermission). These models provide the data structures required for the corresponding service and controller implementations.

mall-mbg/src/main/java/com/macro/mall/model · high confidence

Added utility for retrieving client IP addresses

A new RequestUtil class has been introduced in the common module to provide a standardized method for determining the real IP address of an HTTP client. This utility handles scenarios involving proxy servers by checking standard headers (such as x-forwarded-for, Proxy-Client-IP, and WL-Proxy-Client-IP) and resolves local host addresses when accessing from localhost, ensuring accurate client identification in distributed environments.

mall-common/src/main/java/com/macro/mall/common/util · high confidence

Added web request logging aspect

A new WebLogAspect has been introduced in the common module to automatically capture and log details of incoming HTTP requests. This aspect intercepts controller methods, recording information such as the request URI, HTTP method, client IP address, execution time, and request parameters (extracted from @RequestBody and @RequestParam annotations). The collected data is structured into a WebLog object and logged via Logstash markers for centralized log management.

mall-common/src/main/java/com/macro/mall/common/log · high confidence

Auto-generated models now include Swagger annotations

The MyBatis Generator configuration has been updated to automatically add Swagger v3 \@Schema\ annotations to model fields based on database column remarks. This improves API documentation by ensuring that field descriptions from the database schema are reflected in the generated OpenAPI/Swagger metadata without manual intervention.

mall-mbg/src/main/java/com/macro/mall · high confidence

Expanded admin API data models for orders, products, and file uploads

The admin backend now exposes a comprehensive set of new DTOs in the \com.macro.mall.dto\ package to support richer order management, product catalog operations, and MinIO-based file storage. Users can now query and update detailed order information (including delivery, receiver details, and status changes), manage product attributes and categories with validation, handle flash promotion sessions, and process return applications. Additionally, new models support MinIO bucket policy configuration and file upload callbacks, enabling the admin interface to manage media assets and storage policies directly.

mall-admin/src/main/java/com/macro/mall/dto · high confidence

Initial Docker Compose deployment configuration for mall services and infrastructure

This change introduces the Docker Compose files (\docker-compose-app.yml\ and \docker-compose-env.yml\) and associated configuration files (\nginx.conf\, \logstash.conf\) required to deploy the mall application stack. The \docker-compose-app.yml\ defines the application services (\mall-admin\, \mall-search\, \mall-portal\) with their respective ports, volumes, and external links to infrastructure components. The \docker-compose-env.yml\ sets up the supporting infrastructure services, including MySQL 5.7, Redis 7, Nginx 1.22, RabbitMQ 3.9.11, Elasticsearch 7.17.3, Logstash 7.17.3, Kibana 7.17.3, MongoDB 4, and MinIO. Additionally, the \logstash.conf\ file configures log ingestion from TCP ports for different log types (debug, error, business, record) and outputs them to Elasticsearch.

document/docker · high confidence

Initial database schema for mall application

The document/sql/mall.sql file has been added, providing the initial MySQL database schema for the mall application. This includes table definitions and sample data for CMS-related entities such as help articles, help categories, member reports, preference areas, product relations, subjects, subject categories, and subject comments.

document/sql · high confidence

Initial implementation of mall-admin service layer

This change introduces the complete service implementation layer for the mall-admin backend, adding new service classes for product management (PmsProduct, PmsBrand, PmsCategory, PmsAttribute, PmsSkuStock), order processing (OmsOrder, OmsReturnApply, OmsReturnReason, OmsCompanyAddress, OmsOrderSetting), marketing (SmsCoupon, SmsCouponHistory, CmsSubject, CmsPrefrenceArea), and cloud storage (OssServiceImpl). These services provide the backend logic for CRUD operations, pagination, and business rules across the e-commerce platform's core modules.

mall-admin/src/main/java/com/macro/mall/service/impl · high confidence

Initial release of mall-admin REST API controllers

This change introduces the complete set of REST API controllers for the mall-admin module, providing the backend endpoints for the administrative interface. The controllers cover core product management (PmsProductController, PmsBrandController, PmsProductCategoryController, PmsSkuStockController), order processing (OmsOrderController, OmsOrderReturnApplyController), and marketing features (SmsCouponController, SmsFlashPromotionController). Additionally, it includes controllers for content management (CmsSubjectController, CmsPrefrenceAreaController), system configuration (OssController, MinioController), and user/role management (UmsAdminController, UmsRoleController).

mall-admin/src/main/java/com/macro/mall/controller · high confidence

Initial service layer interfaces for admin module

The service layer in the admin module is established with a comprehensive set of new interfaces covering product management (PmsProductService, PmsBrandService, PmsProductCategoryService, PmsSkuStockService, PmsProductAttributeService), order management (OmsOrderService, OmsOrderReturnApplyService, OmsOrderReturnReasonService, OmsOrderSettingService, OmsCompanyAddressService), marketing and promotions (SmsFlashPromotionService, SmsFlashPromotionSessionService, SmsFlashPromotionProductRelationService, SmsCouponService, SmsCouponHistoryService, SmsHomeAdvertiseService, SmsHomeBrandService, SmsHomeNewProductService, SmsHomeRecommendProductService, SmsHomeRecommendSubjectService), CMS content (CmsSubjectService, CmsPrefrenceAreaService), and user/permission administration (UmsAdminService, UmsAdminCacheService, UmsRoleService, UmsMenuService, UmsResourceService, UmsResourceCategoryService, UmsMemberLevelService). Additionally, an interface for object storage management (OssService) is introduced.

mall-admin/src/main/java/com/macro/mall/service · high confidence

Adds a new mall-search module that provides product search capabilities backed by Elasticsearch. The service exposes REST endpoints for importing products, simple and advanced search (with filtering by brand/category and sorting), product recommendations, and retrieving related brand/category/attribute information. It uses Spring Data Elasticsearch with the IK analyzer for text search, MyBatis for database access, and SpringDoc for API documentation, with separate configuration profiles for development and production environments.

mall-search · high confidence

Introduces common API response and pagination wrappers

Adds new classes in the common API package to standardize API responses and pagination data. CommonResult provides a unified structure for API responses with success/failure methods, while CommonPage wraps pagination data from both PageHelper and Spring Data. ResultCode defines standard error codes and messages, and IErrorCode serves as the interface for error code definitions.

mall-common/src/main/java/com/macro/mall/common/api · high confidence

Introduction of mall-security module with dynamic path-based authorization

The new mall-security module provides a complete Spring Security implementation for the application, featuring JWT-based stateless authentication and dynamic, path-based role authorization. It introduces a dynamic authorization manager that evaluates permissions against configurable URL patterns (defined via the secure.ignored prefix and a dynamic data source), ensuring that access control is determined at runtime rather than being hardcoded. The module also includes a Redis caching aspect to protect business logic from cache failures, a token refresh mechanism with anti-replay protection, and standardized JSON error responses for authentication and authorization failures.

mall-security · high confidence

Introduction of the mall-portal frontend service

This change introduces the mall-portal module, a new Spring Boot application serving as the frontend API gateway for the mall system. It provides REST endpoints for member authentication (login, registration, JWT token management), product browsing (search, details, categories), shopping cart operations, order management (creation, payment via Alipay, timeout cancellation), and member engagement features like brand following, product collection, and read history. The service is configured with Spring Security for JWT-based authentication, SpringDoc for API documentation, and integrates with RabbitMQ for asynchronous order processing and Redis for caching.

mall-portal · high confidence

New AdminUserDetails class for Spring Security integration

A new AdminUserDetails class has been added to the backend business object layer to implement Spring Security's UserDetails interface. This class encapsulates the admin user (UmsAdmin) and their associated resource list, mapping resources to GrantedAuthority objects for authorization checks. It also provides standard security methods such as password retrieval, username retrieval, and account status validation (expired, locked, credentials expired, and enabled status based on the user's status field).

mall-admin/src/main/java/com/macro/mall/bo · high confidence

New FlagValidator annotation for validating status values

Added a new \@FlagValidator\ annotation and its corresponding \FlagValidatorClass\ implementation to the validation package. This allows developers to constrain integer fields or parameters to a specific set of allowed status values, providing a reusable way to enforce valid state ranges in request data.

mall-admin/src/main/java/com/macro/mall/validator · high confidence

New Redis service abstraction for common caching operations

A new RedisService interface and its implementation (RedisServiceImpl) have been added to the common module, providing a unified API for caching operations including value, hash, set, and list structures. This allows other parts of the application to interact with Redis through a standardized service layer rather than directly using Spring Data Redis templates.

mall-common/src/main/java/com/macro/mall/common/service · high confidence

New custom DAO interfaces for product, order, coupon, and admin modules

This change introduces a comprehensive set of new MyBatis DAO interfaces in the mall-admin module to support specific business operations. For product management, new DAOs enable batch creation of attributes, categories, and relations, as well as retrieving detailed product update information and category trees. Order management gains custom DAOs for querying orders with filters, batch shipping, retrieving order details, and managing return applications. Coupon and promotion features are supported by DAOs for managing product and category relations, retrieving coupon details, and fetching flash promotion product lists. Additionally, admin and permission management is enhanced with DAOs for retrieving user roles, accessible resources, and role-based menus and resources.

mall-admin/src/main/java/com/macro/mall/dao · high confidence

Behavioural changes

3 commits (0 fixes) modifying document/mind

A change to existing behaviour in document/mind — 3 commits, 12 files.

document/mind · medium confidence · unverified

Admin API security, CORS, and OSS configuration updates

The admin module's configuration has been updated to enhance security and connectivity. Cross-origin requests are now handled via a new GlobalCorsConfig that permits all origins, headers, and methods with credentials enabled. Security is managed through MallSecurityConfig, which integrates dynamic resource-based access control using UmsResourceService. Additionally, OSS support is introduced via OssConfig for Aliyun object storage, and API documentation is standardized using SpringDoc (OpenAPI v3) with JWT bearer authentication in SpringDocConfig.

mall-admin/src/main/java/com/macro/mall/config · high confidence

Introduction of global exception handling for API errors and validation

The application now includes a centralized exception handling mechanism via GlobalExceptionHandler, which intercepts ApiException, validation errors (MethodArgumentNotValidException, BindException), and SQL syntax errors. ApiException allows returning structured error codes, while validation errors are formatted into user-friendly messages. SQL errors containing 'denied' are replaced with a specific message indicating limited permissions in the demo environment.

mall-common/src/main/java/com/macro/mall/common/exception · high confidence

Mall-demo module modernized to Spring Boot 3 with SpringDoc and RestTemplate integration

The mall-demo module has been upgraded to support Spring Boot 3.5, which includes migrating the codebase to Jakarta EE namespaces (e.g., \jakarta.validation\), replacing the legacy Swagger 2 configuration with SpringDoc OpenAPI 3, and refactoring Spring Security to use the functional \SecurityFilterChain\ bean with BCrypt password encoding. Additionally, the module now integrates RestTemplate for demonstrating HTTP client interactions, provides a new YAML-based application configuration, and removes legacy Maven wrapper scripts and old Thymeleaf templates in favor of a cleaner, API-focused structure.

mall-demo · high confidence

Migration to environment-specific YAML configuration files

The application configuration has been migrated from a single \application.properties\ file to a structured set of YAML files, introducing separate profiles for development (\application-dev.yml\) and production (\application-prod.yml\) environments. This change allows for distinct configuration settings per environment, such as different database hosts, Redis addresses, and MinIO endpoints, while the main \application.yml\ now manages profile activation and global settings like JWT security, Swagger UI paths, and file upload limits.

mall-admin/src/main/resources · high confidence

MyBatis Generator configuration updated for MySQL 8 and improved code generation

The MyBatis Generator setup now uses the MySQL 8 JDBC driver (com.mysql.cj.jdbc.Driver) and includes UTF-8 and timezone settings in the connection URL to ensure proper character handling. The generator configuration has been enhanced to add database table remarks to generated comments, override existing mapper XML files to prevent duplication, and explicitly define the primary key identity strategy. Additionally, a property has been added to resolve issues with code generation in MySQL 8.0+ environments.

mall-mbg/src/main/resources · high confidence

New Redis configuration with JSON serialization and 1-day cache TTL

A new BaseRedisConfig class has been added to the mall-common module to standardize Redis usage. This configuration sets up a RedisTemplate that serializes values and hash values using Jackson JSON (instead of default Java serialization) and configures the RedisCacheManager to automatically expire cached entries after 1 day.

mall-common/src/main/java/com/macro/mall/common/config · high confidence

Removal of MyBatis MapperScan configuration

The explicit @MapperScan annotation has been removed from the MallAdminApplication class. This change alters the application's startup behavior by no longer automatically registering mappers from the com.macro.mall.mapper package via this specific configuration, which may require mappers to be discovered through alternative means such as individual @Mapper annotations or component scanning.

mall-admin/src/main/java/com/macro/mall · high confidence

Removal of default web application artifacts

The default web application configuration files, specifically the \web.xml\ descriptor and the \index.jsp\ welcome page, have been removed from the mall-admin module. This cleanup eliminates the standard placeholder content and configuration that were previously included in the project structure.

mall-admin/src/main/webapp · high confidence

Standardized MyBatis Mapper interfaces and added new domain mappers

The mapper layer has been updated to support new business capabilities and improve consistency. New mapper interfaces were added for shopping cart items (OmsCartItem), flash promotion products and sessions (SmsFlashPromotionProductRelation, SmsFlashPromotionSession), and a comprehensive set of user permission and resource management entities (UmsAdminPermissionRelation, UmsAdminRoleRelation, UmsIntegrationConsumeSetting, UmsMenu, UmsPermission, UmsResourceCategory, UmsResource, UmsRole, UmsRoleMenuRelation, UmsRolePermissionRelation, UmsRoleResourceRelation). Additionally, an old integration setting mapper (UmsIntergrationConsumeSetting) was removed. Existing mappers were refactored to standardize method signatures: the return type for count operations was changed from int to long, and parameter names for insert, update, and delete methods were unified from 'record' to 'row'.

mall-mbg/src/main/java/com/macro/mall/mapper · high confidence

Updated mall database model and diagram layout

The physical data model (PDM) for the mall application has been updated to reflect a larger schema, with the object count increasing from 984 to 1188. The model's target database remains MySQL 5.0, but the configuration for generating foreign keys in database scripts has been changed from disabled to enabled. Additionally, the visual layout of the entity-relationship diagram has been adjusted, with coordinates for various relationship symbols updated to reflect repositioned elements.

document/pdm · high confidence

Updated mall project business architecture diagram

The business architecture diagram in the documentation has been updated to reflect the current project structure. The diagram visualizes the mall system's modules, including the front-end mall portal, product module (covering categories, details, SKUs, and listings), order module (handling creation, payment, shipping, and returns), marketing module (featuring flash sales, coupons, and recommendations), and user management features.

document/pos · high confidence

Test coverage

Added unit tests for product and member price data access

Added a new test class, PmsDaoTests, to verify the functionality of the product and member price data access objects. The tests cover batch insertion of member prices and retrieving product update information, utilizing JUnit 5 assertions and Spring Boot test context.

mall-admin/src/test · high confidence

Dependencies

Upgrade to Spring Boot 3.5 and migrate to Java 17

The project has been upgraded to Spring Boot 3.5.14, requiring a migration to Java 17. This change includes updating the MySQL driver to \mysql-connector-j\ (version 9.3.0) and switching to the \druid-spring-boot-3-starter\ for connection pooling. Additionally, the Swagger UI has been replaced with SpringDoc OpenAPI (version 2.8.17), and the Maven group ID has been standardized to \com.macro.mall\ across all modules.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 50 → 45 (-5.1)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 80 → 88 (+8.0)
  • Architecture 100 → 99 (-1.0)
  • Maturity 67 → 67 (+0.0)
  • Readiness 21 → 15 (-6.5)
  • Security 87 → 67 (-20.7)

Resolved (30)

  • Coverage not included — suite not readable by the collector
  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • Duplicated block (10 lines × 3) (mall-admin/src/main/java/com/macro/mall/config/SpringDocConfig.java)
  • Duplicated block (12 lines × 2) (mall-admin/src/main/java/com/macro/mall/config/GlobalCorsConfig.java)
  • Duplicated block (12 lines × 2) (mall-portal/src/main/java/com/macro/mall/portal/service/impl/AlipayServiceImpl.java)
  • Duplicated block (5 lines × 2) (mall-admin/src/main/java/com/macro/mall/service/impl/UmsAdminCacheServiceImpl.java)
  • Duplicated block (5 lines × 2) (mall-portal/src/main/java/com/macro/mall/portal/service/impl/OmsPortalOrderServiceImpl.java)
  • Duplicated block (5 lines × 2) (mall-search/src/main/java/com/macro/mall/search/service/impl/EsProductServiceImpl.java)
  • Duplicated block (6 lines × 2) (mall-mbg/src/main/java/com/macro/mall/model/CmsSubjectCategory.java)
  • Duplicated block (6 lines × 2) (mall-mbg/src/main/java/com/macro/mall/model/CmsSubjectComment.java)
  • Duplicated block (6 lines × 2) (mall-mbg/src/main/java/com/macro/mall/model/OmsCompanyAddress.java)
  • Duplicated block (6 lines × 2) (mall-mbg/src/main/java/com/macro/mall/model/SmsFlashPromotionExample.java)
  • Duplicated block (6 lines × 76) (mall-mbg/src/main/java/com/macro/mall/model/CmsHelp.java)
  • Duplicated block (7 lines × 2) (mall-portal/src/main/java/com/macro/mall/portal/service/impl/MemberCollectionServiceImpl.java)
  • Duplicated block (7 lines × 2) (mall-search/src/main/java/com/macro/mall/search/service/impl/EsProductServiceImpl.java)
  • Duplicated block (8 lines × 2) (mall-admin/src/main/java/com/macro/mall/controller/UmsAdminController.java)
  • Duplicated block (8 lines × 2) (mall-admin/src/main/java/com/macro/mall/controller/UmsAdminController.java)
  • Duplicated block (8 lines × 2) (mall-admin/src/main/java/com/macro/mall/service/impl/OmsOrderServiceImpl.java)
  • Duplicated block (8 lines × 2) (mall-portal/src/main/java/com/macro/mall/portal/service/impl/OmsPromotionServiceImpl.java)
  • Duplicated block (9 lines × 2) (mall-common/src/main/java/com/macro/mall/common/exception/GlobalExceptionHandler.java)
  • …and 10 more

New (147)

  • ClassTooLong: CmsMemberReportExample (mall-mbg/src/main/java/com/macro/mall/model/CmsMemberReportExample.java)
  • ClassTooLong: CmsSubjectExample (mall-mbg/src/main/java/com/macro/mall/model/CmsSubjectExample.java)
  • ClassTooLong: CmsTopicExample (mall-mbg/src/main/java/com/macro/mall/model/CmsTopicExample.java)
  • ClassTooLong: OmsCartItemExample (mall-mbg/src/main/java/com/macro/mall/model/OmsCartItemExample.java)
  • ClassTooLong: OmsCompanyAddressExample (mall-mbg/src/main/java/com/macro/mall/model/OmsCompanyAddressExample.java)
  • ClassTooLong: OmsOrderExample (mall-mbg/src/main/java/com/macro/mall/model/OmsOrderExample.java)
  • ClassTooLong: OmsOrderItemExample (mall-mbg/src/main/java/com/macro/mall/model/OmsOrderItemExample.java)
  • ClassTooLong: OmsOrderReturnApplyExample (mall-mbg/src/main/java/com/macro/mall/model/OmsOrderReturnApplyExample.java)
  • ClassTooLong: OmsPortalOrderServiceImpl (mall-portal/src/main/java/com/macro/mall/portal/service/impl/OmsPortalOrderServiceImpl.java)
  • ClassTooLong: PmsBrandExample (mall-mbg/src/main/java/com/macro/mall/model/PmsBrandExample.java)
  • ClassTooLong: PmsCommentExample (mall-mbg/src/main/java/com/macro/mall/model/PmsCommentExample.java)
  • ClassTooLong: PmsFeightTemplateExample (mall-mbg/src/main/java/com/macro/mall/model/PmsFeightTemplateExample.java)
  • ClassTooLong: PmsProductAttributeExample (mall-mbg/src/main/java/com/macro/mall/model/PmsProductAttributeExample.java)
  • ClassTooLong: PmsProductCategoryExample (mall-mbg/src/main/java/com/macro/mall/model/PmsProductCategoryExample.java)
  • ClassTooLong: PmsProductExample (mall-mbg/src/main/java/com/macro/mall/model/PmsProductExample.java)
  • ClassTooLong: PmsProductOperateLogExample (mall-mbg/src/main/java/com/macro/mall/model/PmsProductOperateLogExample.java)
  • ClassTooLong: PmsSkuStockExample (mall-mbg/src/main/java/com/macro/mall/model/PmsSkuStockExample.java)
  • ClassTooLong: SmsCouponExample (mall-mbg/src/main/java/com/macro/mall/model/SmsCouponExample.java)
  • ClassTooLong: SmsCouponHistoryExample (mall-mbg/src/main/java/com/macro/mall/model/SmsCouponHistoryExample.java)
  • ClassTooLong: SmsHomeAdvertiseExample (mall-mbg/src/main/java/com/macro/mall/model/SmsHomeAdvertiseExample.java)
  • …and 127 more

Changes since last survey

  • 2 commits — 2 feature/other, 0 fixes

By area

  • mall-portal/src — 2 commits

Notable commits

  • change: 修复账号被禁用后,之前Token还能使用的问题。
  • change: 支付订单金额改为从数据库订单表中获取

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

macrozheng/mall was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 22 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit dcaa93b3150352e5044708d7211b5bed0af4509f — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-821afab8930d.