115 Commits

Author SHA1 Message Date
Leif Draven
e895180388
Develop (#76)
* refactor: rename queryannouncementhandler.go to queryAnnouncementLogic.go for clarity

* feat(panDomain): update subscription logic to use V2 handler for improved functionality

* refactor(subscribe): replace V2 handler with a unified Handler method for subscription logic

* feat(subscribe): implement user agent limit feature with configurable list

* fix(subscribe): improve error handling and logging for subscription requests

* feat(subscribe): add user agent limit configuration to system settings

* refactor(api): remove deprecated application-related endpoints and types

* refactor(swagger): remove deprecated app.json generation from swagger configuration

* refactor(swagger): remove deprecated app.json check from swagger configuration

* fix(subscribe): update delete method to use Where clause for improved query accuracy

* fix(subscribe): update Id field tag to use primaryKey and improve save method query

* fix(subscribe): update Id field tag to use primaryKey and improve model queries

* fix(subscribe): rename variable for clarity and add special handling for Stash user agent

* fix(email): convert RegisterStartTime and RegisterEndTime to time.Time for accurate query filtering

* refactor(log): consolidate logging models and update related logic for improved clarity and functionality

* fix(types): change Content field type in MessageLog to interface{} for improved flexibility

* fix(log): change MessageLog list to use value type for improved performance and memory efficiency

* fix(email): set EmailTypeVerify in task payload and update content type conversion for verification email

* fix(log): remove unused Id field from SystemLog during login log insertion

* fix(login): remove debug logs and error logging during user login process

* fix(log): add traffic reset logging for subscription resets

* fix(log): insert reset traffic log during subscription activation

* feat(log): add endpoints for retrieving and resetting subscribe traffic logs

* refactor(log): remove Reset Subscribe Traffic Log endpoint and related types

* feat(traffic): add traffic statistics logging and scheduling

* fix(subscribe): ensure active status and reset timestamps during traffic resets

* feat(api): enhance server and node management with new request/response structures

* refactor(api): rename OnlineUser to ServerOnlineUser for clarity

* feat(api): define OnlineUser type with SID and IP fields

* feat(server): implement server management handlers and database schema

* feat(api): add traffic log details filtering and enhance traffic log structures

* feat(api): migrate server and node data handling, update related structures and logic

* feat(server): implement server deletion logic with error handling

* feat(api): update log filtering to use ResetSubscribe type for subscription logs

* feat(api): standardize timestamp field across log structures

* feat(api): refactor cache key handling for server and user lists

* feat(api): enhance server status handling with protocol support and refactor related logic

* fix(traffic): adjust start date for traffic statistics and improve log deletion comment

* feat(api): implement daily traffic ranking for users and servers with error handling

* feat(api): update server total data response to use 'OnlineUsers' and implement daily traffic statistics logging

* feat(api): add log settings management with auto-clear and clear days configuration

* fix(log): correct category in log settings update query

* feat(routes): add handler for scheduled traffic statistics

* feat(model): add user counts struct and update queries for new and renewal users

* feat(api): add referral percentage and only first purchase fields to user model and requests

* feat(database): update user table to add referral percentage and only first purchase fields

* feat(api): add reset sort endpoints for server and node

* feat(api): add sort field to server model

* feat(api): implement sorting functionality for nodes and servers

* fix(database): add sort column to nodes table

* fix(model): enhance user statistics queries with new order and renewal order counts

* fix(log): update timestamp handling in login and registration logs

* fix(log): update sorting logic for server and user subscribe traffic logs

* fix(server): add server status handling based on last reported time

* fix(model): correct filter condition to use 'date' instead of 'data'

* fix(migration): add index for traffic log on timestamp, user_id, and subscribe_id

* fix(log): optimize user traffic rank data handling by using append instead of index assignment

* fix(filter): refactor node list creation to use append and remove duplicates from tags

* fix(node): add ServerId and Enabled fields to node update logic

* feat(tags): add endpoint to query all node tags

* fix(preview): add Preload parameter to FilterNodeList for improved data retrieval

* fix(log): date is empty

* feat(subscribe): add Language field to subscription models and update query logic

* feat(subscription): add Language parameter to GetSubscription request and update query logic

* fix(server): encode ServerKey in base64 and update last reported time for nodes

* feat: delete common GetSubscription

* feat(subscription): implement FilterList method for subscription queries and update related logic

* fix(subscribe): remove duplicate user agents in SubscribeHandler

* fix(push): initialize onlineUsers as a map in pushOnlineUsersLogic

* fix(reset): initialize subs as a map in clearCache method

* refactor(query): simplify node and tag filtering using InSet function

* feat(userlist): enhance GetServerUserListLogic with improved node and tag handling

* fix(userlist): correct node ID assignment and update query logic for tag filtering

* fix(userlist): correct node ID assignment in getServerUserListLogic

* refactor(query): streamline query construction for tag filtering

* fix(statistics): optimize server ranking data handling in QueryServerTotalDataLogic

* refactor(statistics): simplify server ranking data construction in QueryServerTotalDataLogic

* fix(statistics): correct server traffic data assignment in QueryServerTotalDataLogic

* fix(statistics): optimize yesterday's top 10 server traffic data assignment in QueryServerTotalDataLogic

* fix(middleware): remove duplicate elements from user agent list in PanDomainMiddleware

* feat(middleware): enhance user agent handling by querying client list in PanDomainMiddleware

* feat(client): subscribe_template

* feat(oauth): add user agent and IP logging to registration and login processes

* fix(balance): add timestamp to balance logs for payment, refund, and recharge transactions

* fix(log): correct comment for CommissionTypeRefund to improve clarity

* fix(log): replace magic number with constant for gift type in purchase checkout logic

* fix(log): rename OrderId to OrderNo for consistency in balance logging

* feat(log): add logging for balance, gift amount, and commission adjustments

* fix(user): correct placement of DeepCopy for user info update logic

* feat(log): add UserSubscribeId to FilterSubscribeLogRequest for enhanced filtering

* fix(purchase): streamline error handling and improve JSON marshaling for temporary orders

* fix(order): simplify commission handling and improve payload parsing logic

* fix(order): update commission calculation to actual payment amount minus gateway handling fee

* feat(payment): add support for CryptoSaaS payment platform and enhance configuration handling

* fix(balance): update QueryUserBalanceLog response structure to include balance log list

* fix(email): update task progress handling to use specific task ID for updates

* feat(quota): add quota task creation and querying endpoints with updated data structures

* fix(email): update task handling to use generic task model and improve error logging

* fix(order): improve error logging for database transaction and user cache updates

* feat(quota): enhance quota task management with new request structures and processing logic

* fix(quota): remove redundant quota task status endpoint from admin marketing routes

* fix(worker): update task completion status handling in worker logic

* fix(quota): update taskInfo to include current subscription count in quota logic

* doc(log): rename function for clarity and add cache cleanup comment

* fix(quota): update time handling in quota logic and correct subscriber ID query

* fix(quota): update time handling to use UnixMilli for start time in quota logic

* feat(protocol): add server protocol configuration query and enhance protocol options

* fix(quota): correct time range queries for start and expire times in quota logic

* fix(types): update plugin options to include 'none' in the plugin field

---------

Co-authored-by: Chang lue Tsen <tension@ppanel.dev>
2025-09-14 09:50:22 -04:00
lyndon986
b5e244d83d
renew readme_zh.md 2025-08-26 01:57:50 +10:00
lyndon986
2acbdbc9e0
renew README.md 2025-08-26 01:56:34 +10:00
Chang lue Tsen
2be1c4f6ed feat(subscription): enhance subscription cache management and improve error handling v1.0.5 2025-08-15 14:45:54 -04:00
Chang lue Tsen
740dd48763 feat(subscribe): update subscription route to use V2 handler v1.0.4 2025-08-15 13:05:36 -04:00
Leif Draven
41d660bb9e
Develop (#64)
* fix(database): correct name entry for SingBox in initialization script

* fix(purchase): update gift amount deduction logic and handle zero-amount order status

* feat: add type and default fields to rule group requests and update related logic

* feat(rule): implement logic to set a default rule group during creation and update

* fix(rule): add type and default fields to rule group model and update related logic

* feat(proxy): enhance proxy group handling and sorting logic

* refactor(proxy): replace hardcoded group names with constants for better maintainability

* fix(proxy): update group selection logic to skip empty and default names

* feat(proxy): enhance proxy and group handling with new configuration options

* feat(surge): add Surge adapter support and enhance subscription URL handling

* feat(traffic): implement traffic reset logic for subscription cycles

* feat(auth): improve email and mobile config unmarshalling with default values

* fix(auth) upbind email not update

* fix(order) discount set default 1

* fix(order) discount set default 1

* fix: refactor surfboard proxy handling and enhance configuration template

* fix(renewal) discount set default 1

* feat(loon): add Loon configuration template and enhance proxy handling

* feat(subscription): update user subscription status based on expiration time

* fix(renewal): update subscription retrieval method to use token instead of order ID

* feat(order): enhance order processing logic with improved error handling and user subscription management

* fix(order): improve code quality and fix critical bugs in order processing logic

- Fix inconsistent logging calls across all order logic files
- Fix critical gift amount deduction logic bug in renewal process
- Fix variable shadowing errors in database transactions
- Add comprehensive Go-standard documentation comments
- Improve log prefix consistency for better debugging
- Remove redundant discount validation code

* fix(docker): add build argument for version in Docker image build process

* feat(version): add endpoint to retrieve application version information

* fix(auth): improve user authentication method logic and update user cache

* feat(user): add ordering functionality to user list retrieval

* fix(RevenueStatistics) fill list

* fix(UserStatistics) fill list

* fix(user): implement user cache clearing after auth method operations

* fix(auth): enhance OAuth login logic with improved request handling and user registration flow

* fix(user): implement sorting for authentication methods based on priority

* fix(user): correct ordering clause for user retrieval based on filter

* refactor(user): streamline cache management and enhance cache clearing logic

* feat(logs) set logs volume in develop

* fix(handler): implement browser interception to deny access for specific user agents

* fix(resetTraffic) reset daily server

* refactor(trojan): remove unused parameter and clean up logging in slice

* fix(middleware): add domain length check and improve user-agent handling

* fix(middleware): reorder domain processing and enhance user-agent handling

* fix(resetTraffic): update subscription reset logic to use expire_time for monthly and yearly checks

* fix(scheduler): update reset traffic task schedule to run daily at 00:30

* fix(traffic): enhance traffic reset logic for subscriptions and adjust status checks

* fix(activateOrder): update traffic reset logic to include reset day check

* feat(marketing): add batch email task management API and logic

* feat(application): implement CRUD operations for subscribe applications

* feat(types): add user agent limit and list to subscription configuration

* feat(application): update subscription application requests to include structured download links

* feat(application): add scheme field and download link handling to subscribe application

* feat(application): add endpoint to retrieve client information

* feat(application): move DownloadLink and SubscribeApplication types to types.api

* feat(application): add DownloadLink and SubscribeClient types, update client response structure

* feat(application): remove ProxyTemplate field from application API

* feat(application): implement adapter for client configuration and add preview template functionality

* feat(application): move DownloadLink type to types.api and remove from common.api

* feat(application): update PreviewSubscribeTemplate to return structured response

* feat(application): remove ProxyTemplate field from application API

* feat(application): enhance cache key generation for user list and server data

* feat(subscribe): add ClearCache method to manage subscription cache invalidation

* feat(payment): add Description field to PaymentMethodDetail response

* feat(subscribe): update next reset time calculation to use ExpireTime

* feat(purchase): include handling fee in total amount calculation

* feat(subscribe): add V2SubscribeHandler and logic for enhanced subscription management

* feat(subscribe): add output format configuration to subscription adapter

* feat(application): default data

---------

Co-authored-by: Chang lue Tsen <tension@ppanel.dev>
Co-authored-by: NoWay <Bob455668@hotmail.com>
2025-08-15 12:30:21 -04:00
Chang lue Tsen
c8de30f78c fix(order): improve code quality and fix critical bugs in order processing logic
- Fix inconsistent logging calls across all order logic files
- Fix critical gift amount deduction logic bug in renewal process
- Fix variable shadowing errors in database transactions
- Add comprehensive Go-standard documentation comments
- Improve log prefix consistency for better debugging
- Remove redundant discount validation code
v1.0.3
2025-07-24 03:06:44 +09:00
Chang lue Tsen
46ab012b6c feat(order): enhance order processing logic with improved error handling and user subscription management 2025-07-24 03:06:44 +09:00
Chang lue Tsen
8976724c1e fix(renewal): update subscription retrieval method to use token instead of order ID 2025-07-24 03:06:44 +09:00
Chang lue Tsen
db63281250 feat(subscription): update user subscription status based on expiration time 2025-07-24 03:06:44 +09:00
Chang lue Tsen
f3a8f94b4b feat(loon): add Loon configuration template and enhance proxy handling 2025-07-24 03:06:44 +09:00
NoWay
f4cd567492 fix(renewal) discount set default 1 2025-07-24 03:06:44 +09:00
Chang lue Tsen
c08fadb347 fix: refactor surfboard proxy handling and enhance configuration template 2025-07-24 03:06:44 +09:00
NoWay
a155a4f8cd fix(order) discount set default 1 2025-07-24 03:06:44 +09:00
NoWay
1b78e04113 fix(order) discount set default 1 2025-07-24 03:06:44 +09:00
NoWay
f6ce7b2cd3 fix(auth) upbind email not update 2025-07-24 03:06:44 +09:00
Chang lue Tsen
6034a32e85 feat(auth): improve email and mobile config unmarshalling with default values 2025-07-24 03:06:44 +09:00
Chang lue Tsen
0e8e2d442e feat(traffic): implement traffic reset logic for subscription cycles 2025-07-24 03:06:44 +09:00
Chang lue Tsen
b83ce5090a feat(surge): add Surge adapter support and enhance subscription URL handling 2025-07-24 03:06:44 +09:00
Chang lue Tsen
224365ce79 feat(proxy): enhance proxy and group handling with new configuration options 2025-07-24 03:06:44 +09:00
Chang lue Tsen
82e447c55e fix(proxy): update group selection logic to skip empty and default names 2025-07-24 03:06:44 +09:00
Chang lue Tsen
8c4c7d0773 refactor(proxy): replace hardcoded group names with constants for better maintainability 2025-07-24 03:06:44 +09:00
Chang lue Tsen
97024dd1df feat(proxy): enhance proxy group handling and sorting logic 2025-07-24 03:06:44 +09:00
Chang lue Tsen
979e39b9e5 fix(rule): add type and default fields to rule group model and update related logic 2025-07-24 03:06:44 +09:00
Chang lue Tsen
94d316ec52 feat(rule): implement logic to set a default rule group during creation and update 2025-07-24 03:06:44 +09:00
Chang lue Tsen
994cc4bebb feat: add type and default fields to rule group requests and update related logic 2025-07-24 03:06:44 +09:00
Chang lue Tsen
40c24fbc85 fix(purchase): update gift amount deduction logic and handle zero-amount order status 2025-07-24 03:06:44 +09:00
Chang lue Tsen
59348c1643 fix(database): correct name entry for SingBox in initialization script 2025-07-24 03:06:44 +09:00
Chang lue Tsen
9691257bad fix(purchase): correct gift amount deduction logic and enhance payment processing comments v1.0.2 2025-07-07 14:26:53 -04:00
Chang lue Tsen
76816ca8ea fix(purchase): handle gift amount deduction and update order status in checkout logic 2025-07-07 12:28:44 -04:00
Chang lue Tsen
e279119524 fix(user): update user balance, gift amount, and commission fields in user info 2025-07-07 12:11:59 -04:00
sky-line-1
626c3ef05c
fix(api) fill renewal_order_users in user statistics (#40) 2025-07-06 15:39:42 +08:00
Chang lue Tsen
4f49dea769 feat(anytls): add AnyTLS protocol support with parsing and configuration options 2025-07-05 14:30:12 -04:00
Chang lue Tsen
1a849fd461 fix(api): standardize formatting and add missing newlines in API files 2025-07-05 14:30:05 -04:00
Chang lue Tsen
987e25e7ac fix(tuic): add additional configuration options for SNI, RTT reduction, UDP relay, and congestion control 2025-07-03 14:45:42 -04:00
ctrlbbj
189f62781e Fix schema missing
Adding the missing fields in the database initialization file.
2025-07-03 02:22:27 +09:00
Chang lue Tsen
9fc367a323 fix(statistics): add mock data for revenue and user statistics in demo mode 2025-07-02 13:18:34 -04:00
Chang lue Tsen
0825ac525d fix(user): prevent deletion and password modification of admin user in demo mode 2025-07-02 12:39:30 -04:00
sky-line-1
d26bc7f40b
fix(order): correct renewal traffic reset logic (#37) 2025-07-01 23:07:27 +08:00
Chang lue Tsen
be7cdcd4a6 fix(node): enqueue task for GetNodeCountry only if city or country is empty 2025-06-12 23:57:06 -04:00
Chang lue Tsen
b6a2f134bb fix(parse): enable UDP support in VLESS configuration 2025-06-06 11:23:20 -04:00
Chang lue Tsen
76063bc071 fix(server): encode server key in base64 for shadowsocks protocol 2025-06-01 12:54:48 -04:00
missish
565eb8cbbf "fix(order): 修复优惠券使用限制检查逻辑,增加数量有效性验证" 2025-06-02 01:47:16 +09:00
Chang lue Tsen
617768a4a1 fix(proxy): update server key encoding in GenerateShadowsocks2022Password 2025-06-01 12:01:02 -04:00
Leif Draven
aae4a10947
Merge pull request #23 from missish/develop
"feat(user/subscribe): 添加订阅折扣信息的JSON解析逻辑"
2025-06-01 22:11:04 +09:00
missish
6027102d29
Merge branch 'perfect-panel:develop' into develop 2025-06-01 14:30:54 +08:00
missish
5ad3202626 "feat(user/subscribe): 添加订阅折扣信息的JSON解析逻辑"
- 修复在续订时只能续订一个月
2025-06-01 14:20:57 +08:00
Chang lue Tsen
0dca618f85 fix(uri): update query parameters and improve transport type handling v1.0.1 2025-06-01 01:33:30 -04:00
Chang lue Tsen
852bde35dc refactor(v2rayN): streamline proxy URI generation by consolidating methods 2025-05-31 11:44:18 -04:00
Chang lue Tsen
b4a9bb23e9 fix(proxy): simplify password generation logic in GenerateShadowsocks2022Password 2025-05-31 11:30:04 -04:00