111[后端] 小区资源配置与历史接口开发
任务描述

功能说明

提供小区资源配置提交接口(按金额/按条数、转换系数换算、二次确认)及配置历史查询接口,更新平台可分配/已分配未使用与小区剩余,同时记录历史。

文件位置

  • Controller: src/controller/smsCommunityAllocateController.ts
  • Service: src/service/smsCommunityAllocateService.ts
  • Model: src/model/smsCommunityAllocateLog.ts

接口定义

请求方式POST / GET
请求路径/api/v1/sms/community/{id}/allocate (POST); /api/v1/sms/community/{id}/allocations (GET历史)

请求参数

参数名类型必填说明
idnumber路径参数,小区ID
modenumber1按金额 2按条数
amountnumbermode=1必填分配金额,正数
smsCountnumbermode=2必填分配条数,正整数
convertRationumber转换系数,正数
finalSmsCountnumber可编辑后的最终条数,默认换算值四舍五入
finalAmountnumber可编辑后的最终金额,默认换算值四舍五入
validFrom/validTostring有效期,未传视为长期
remarkstring备注
page/pageSize (GET)number历史分页

响应格式

{
  "code":200,
  "data":{
    "communityRemain":1500,
    "platformAllocatable":9000,
    "platformAllocatedUnused":3000
  },
  "message":"success"
}

业务逻辑

  1. 参数校验:mode必填,金额/条数/转换系数为正数;小区与平台存在性校验;剩余可分配校验(不可超额)
  2. 权限检查:需具备小区资源配置权限
  3. 数据处理:按模式换算对应条数或金额,四舍五入整数,可被final值覆盖;二次确认逻辑由前端触发;更新小区剩余+分配条数,平台可分配-分配条数,已分配未使用+分配条数;写入sms_community_allocate_log含原/现剩余、有效期、备注
  4. 历史查询:按小区ID倒序返回所有配置记录字段完整

错误处理

400参数错误未选分配方式或金额/条数/转换系数非正数
400资源不足平台可分配不足
403无权限无小区配置权限
404数据不存在小区或平台不存在

验收标准

  • 按金额100元、系数0.1自动算1000条;按条数500、系数0.1算50元
  • 成功分配1000条后,小区剩余+1000,平台可分配-1000,已分配未使用+1000
  • 历史记录新增且字段完整
所属执行
所属模块
来源Bug
指派给
任务类型
开发
任务状态
未开始
进度
0 %
优先级
1
关键词
抄送给
由谁创建
邹鹏 于 2025-12-15 19:05:29
由谁完成
由谁取消
由谁关闭
关闭原因
最后编辑
最初预计
10 h
总计消耗
0 h
预计剩余
10 h
预计开始
实际开始
截止日期