吴昊天 d90135d2fc fix(积分): 积分累计改按收支方向聚合,移除已废弃的过期提示
- UserBillServices 新增 getIntegralSumByPm():按 category=integral + status=1 +
  pm 方向求和,支持时间筛选与冻结期内(is_frozen=1)统计。
- 签到页用户信息统计不再枚举 type 白名单:新增积分类型(order_give_integral、
  order_gain_refund 等)无需同步维护即可正确计入累计/支出/今日;
  冻结积分改为只统计积分流水中的冻结收入项。
- 用户端积分页移除 clear_time 过期提示(对应逻辑已废弃),清理 dayjs 依赖与
  isTime 状态。
2026-10-23 14:17:15 +08:00
..
2026-09-23 15:15:02 +08:00

marketing/ — 营销玩法扩展模块

功能概述

营销玩法模块提供各类独立运营活动,这些活动不直接产生订单,而是在用户操作的关键节点(注册、支付、评价等)触发营销动作。每个子模块都是可插拔的插件包。

目录结构

marketing/
├── channel_code/    渠道码
├── lottery/         抽奖
├── newuser/         新人礼
└── signin/          签到

子模块说明

模块 目录 功能
渠道码 channel_code/ 公众号渠道码生成、分类管理、扫码统计
抽奖 lottery/ 九宫格/大转盘/翻牌等多种抽奖形式
新人礼 newuser/ 新用户注册赠送余额/积分/优惠券
签到 signin/ 连续签到/累计签到/积分奖励

直播功能已并入 modules/channel/wechat_mini/(微信小程序直播,非独立插件,作为小程序渠道内置功能:直播文件直接位于小程序模块下,建表与菜单由 wechat_mini 的 Installer 管理)。

设计原则

  • 营销模块不直接产生订单,通过事件驱动与订单流程解耦
  • 各子模块之间不可互相引用
  • 通过 event.php 注册事件监听器,在用户操作节点触发营销逻辑