会员微服务设计文档

【中台设计】会员成长体系 在设计会员中台时,总结的一些个人感悟,帮助你了解会员成长体系搭建的意义,熟悉市面上几种主流的会员体系平台,对整个会员成长体系的闭环运作有一个初步的了解。 阅读详情
版本修订人备注修改时间
V1.0hamish初稿2019.12.26

本文设计文档为19年起草,上市公司会员中心设计概要,适合百万会员的会员中心业务,可以根据业务需要删减逻辑构建微服务,也可以增加业务逻辑构建会员中台。

设计思想实践了DDD, 整体多用了领域服务,没有严格意义的遵循DDD,偏向失血模型。
应用的时候根据自己业务需要改动。


一、引言:

1.1 项目背景

随着业务的扩展,多业务线都会使用到会员服务,为了避免重复开发功能,公司统一各个业务线的会员服务,设计构建会员中台,对接各个业务线。

1.2 术语定****义

本文当中涉及的专业术语定义或解释,一般可以表格形式给出,如表 2-1 所示。

表 2-1

编号术语名称术语定义
1B2B
2B2C
3会员注册激活的用户即为会员
4企业会员认证过企业工商营业执照信息的会员
5个人会员b2c 消费者会员

1.3 范围

本文档限定在用户中心服务领域,提供用户信息、管理、用户等级、积分公共服务

1.4 其他约定

  • 系统使用 restful 风格接口
  • 与业务系统 HTTP 交互,内网权限。
  • 业务系统根据 memberId 交互。

二、总体设计

2.1 需求概述

因公司业务线拓展,商城、金融、crm 都需要使用会员信息,crm 专注于客户前期线索管理,审批,需要构建一个多租户中台服务提供会员信息、等级、积分的功能。

2.2 基本设计描述

会员中台服务,使用领域驱动设计思想,微服务化多租户系统,会员域包括会员基本信息、会员附件,会员地址。对外提供 HTTP 服务,限制在内网访问,数据持久化使用 mysql.基于 springboot2.2.2 和 springcloud2.2.0 [Hoxton] 提供 HTTP 服务。

功能结构图:
在这里插入图片描述

2.3 主流程设计描述

2.3.1 企业会员信息提交

在这里插入图片描述

2.4 技术目标

  • SLO
    统计周期:1 个月

指标:

  • 基础日志文件(log) 从日志中看到程序运行状态

  • 响应时间(latency) : 99% 访问延迟 < 300ms

  • QPS: 115

  • 平均负载 :cpu: 40% 内存:50% (预估)

  • 错误率:5XX 状态小于 0.1%

  • 可用性:99.5%

  • SLA
    考核指标

三、模块设计

3.1 会员信息模块

会员信息模块,保存会员基本信息,企业会员的企业信息,个人会员的个人信息,会员信息的状态,配合 crm 和商城 实现会员信息提交,修改,会员信息审核,信息状态修改。

3.2 会员附件模块 #

会员信息附件模块,保存会员信息图片附件,图片上传服务暂时由各个业务线独立上传,附件模块保存上传后的信息

3.3 会员地址模块 #

会员地址模块,管理会员的多个收货地址,发票接收地址。

需要确认:收货地址是否有个数,发票地址是否有个数。

3.4 会员积分模块

会员积分,计算,更新 会员的积分

和 crm、商城 交互,支撑多个业务线的营销

积分计算规则由产品提供。

3.5 等级模块

会员等级,计算,更新会员等级信息,用于商城的会员的展示。

等级计算规则由产品提供。

3.6 会员权益模

提供会员权益的服务

四、接口设计

O 的意思是可选,英文缩写 Optional,表示可传可不传。

M 的意思是强制性的,英文缩写 Mandatory,表示是必传的域。

C 的意思是有条件的,英文缩写 Conditional,表示这个域根据条件传输,比如你有个协议是传输商

最新接口文档参见联调环境 swagger 文档

4.1 会员信息查询

URL: http://host:8080/company

HTTP: GET

参数:

参数名类型含义是否必传备注
tenantIdLong租户 IdM
productIdLong租户下的产品 IdM
companyIdLong企业 IdM业务系统使用 companyId 登录作为 userId 使用

返回:

{
  "code": 0,
  "data": {
    "companyFlag": "string",
    "companyName": "string",
    "companyType": "string",
    "creator": "string",
    "gmtCreateTime": "2019-12-30T01:26:12.824Z",
    "gmtModifyTime": "2019-12-30T01:26:12.824Z",
    "insertAttachmentReqsList": [
      {
        "businessType": 1,
        "channelId": 1000001,
        "filePath": "/path/123.jgg",
        "fileRealName": "/path/123.jgg",
        "fileStorageName": "123.jgg",
        "fileType": ".jpg",
        "fromType": 1001,
        "productId": 1001,
        "tenantId": 1000,
        "userId": 123456789
      }
    ],
    "legalPerson": "string",
    "legalPersonIdnum": "string",
    "memberId": "string",
    "modifier": "string",
    "registerTime": "2019-12-30T01:26:12.824Z",
    "state": "string",
    "unifiedSocialCreditCode": "string"
  },
  "message": "string",
  "success": true
}

4.2 会员基本信息提交

URL: http://host:8080/company

HTTP: POST

参数:

参数名类型含义是否必传备注
tenantIdLong租户 IdM
productIdLong租户下的产品 IdM
companyIdLong企业 IdM业务系统使用 companyId 登录作为 userId 使用
companyNameString营业执照的企业名称M
unifiedSocialCreditCodeString统一社会信用代码号M
legalPersonString法人姓名M
legalPersonIdnumString法人身份证号M
companyFlag
String企业标识
M企业标识 1、供方,2、需方,3、两者都是
companyType
String企业性质
Mwjlj01:集团内(杭萧关联公司);wjlj00:集团外(纯外部公司);wjlj02:参股公司

返回:

{
    "data": null,
    "code": 200,
    "message": "操作成功",
    "success": true
}

4.3 会员基本信息删除

URL: http://host:8080/company

HTTP: DELETE

参数:

参数名类型含义是否必传备注
tenantIdLong租户 IdM
productIdLong租户下的产品 IdM
companyIdLong企业 IdM业务系统使用 companyId 登录作为 userId 使用

返回:

{
    "data": null,
    "code": 200,
    "message": "操作成功",
    "success": true
}

4.4 会员基本信息修改

URL: http://host:8080/company

HTTP: PUT

参数:

参数名类型含义是否必传备注
tenantIdLong租户 IdM
productIdLong租户下的产品 IdM
companyIdLong企业 IdM业务系统使用 companyId 登录作为 userId 使用
companyNameString营业执照的企业名称O
unifiedSocialCreditCodeString统一社会信用代码号O
legalPersonString法人姓名O
legalPersonIdnumString法人身份证号O
companyFlag
String企业标识
O企业标识 1、供方,2、需方,3、两者都是
companyType
String企业性质
Owjlj01:集团内(杭萧关联公司);wjlj00:集团外(纯外部公司);wjlj02:参股公司

返回:

{
    "data": null,
    "code": 200,
    "message": "操作成功",
    "success": true
}

4.5 会员营业执照信息查询

URL: http://host:8080/businesslicenses/query

HTTP: POST

参数:

参数名类型含义是否必传备注
tenantIdLong租户 IdM
productIdLong租户下的产品 IdM
companyIdLong企业 IdM业务系统使用 companyId 登录作为 userId 使用

返回 1:

{
  "code": 200,
  "data": {
    "businessScope": "string",
    "companyName": "string",
    "id": 0,
    "industry": "string",
    "legalPerson": "string",
    "legalPersonIdnum": "string",
    "registerAddress": "string",
    "registerBeginDate": "string",
    "registerBusinessNo": "string",
    "registerCapital": "string",
    "registerCurrency": "string",
    "registerEndDate": "string",
    "registerOrgCode": "string",
    "unifiedSocialCreditCode": "string"
  },
  "message": "操作成功",
  "success": true
}

返回 2:

{
    "data": null,
    "code": 414121,
    "message": "营业执照信息不存在~",
    "success": false
}   

4.6 会员营业执照信息提交

URL: http://host:8080/businesslicenses

HTTP: POST

参数:

参数名类型含义是否必传备注
tenantIdLong租户 IdM
productIdLong租户下的产品 IdM
companyIdLong企业 IdM业务系统使用 companyId 登录作为 userId 使用
companyNameString营业执照的企业名称M
unifiedSocialCreditCodeString统一社会信用代码号M
registerOrgCodeString组织机构代码号M
registerBusinessNoString工商注册号M
registerAddressString注册地址M
registerCapitalString注册资本M
registerCurrencyString币种M
registerBeginDateDate经营期限/起M
registerEndDateDate经营期限/止M
legalPersonString法人姓名M
legalPersonIdnumString法人身份证号M
industry
String所属行业
M
businessScope
String经营(业务)范围
M

返回:

{
    "data": null,
    "code": 200,
    "message": "操作成功",
    "success": true

}

4.7 会员营业执照信息删除

URL: http://host:8080/businesslicenses

HTTP: DELETE

参数:

参数名类型含义是否必传备注
tenantIdLong租户 IdM
productIdLong租户下的产品 IdM
companyIdLong企业 IdM业务系统使用 companyId 登录作为 userId 使用

返回 1:

{
    "data": null,
    "code": 200,
    "message": "操作成功",
    "success": true
 }

返回 2:

{
    "data": null,
    "code": 414121,
    "message": "营业执照信息不存在~",
    "success": false
}   

4.8 会员营业执照信息修改

URL: http://host:8080/businesslicenses

HTTP: PUT

参数:

参数名类型含义是否必传备注
tenantIdLong租户 IdM
productIdLong租户下的产品 IdM
companyIdLong企业 IdM业务系统使用 companyId 登录作为 userId 使用
companyNameString营业执照的企业名称O
unifiedSocialCreditCodeString统一社会信用代码号O
registerOrgCodeString组织机构代码号O
registerBusinessNoString工商注册号O
registerAddressString注册地址O
registerCapitalString注册资本O
registerCurrencyString币种O
registerBeginDateDate经营期限/起O
registerEndDateDate经营期限/止O
legalPersonString法人姓名O
legalPersonIdnumString法人身份证号O
industry
String所属行业
O
businessScope
String经营(业务)范围
O

返回 1:

{
    "data": null,
    "code": 200,
    "message": "操作成功",
    "success": true
 }   

返回 2:

{
    "data": null,
    "code": 414121,
    "message": "营业执照信息不存在~",
    "success": false
}   

4.9 会员附件信息查询

URL: http://host:8080/attachments/query

HTTP: POST

参数:

参数名类型含义是否必传备注
tenantIdLong租户 IdM
productIdLong租户下的产品 IdM
companyIdLong企业 IdM业务系统使用 companyId 登录作为 userId 使用
businessTypeString业务类型M

返回 1:

{
  "code": 200,
  "data": {
    "businessType": "string",
    "creator": "string",
    "deleted": "string",
    "filePath": "string",
    "fileRealName": "string",
    "fileStorageName": "string",
    "fileType": "string",
    "fromType": "string",
    "gmtCreateTime": "2019-12-30T02:58:02.941Z",
    "gmtModifyTime": "2019-12-30T02:58:02.941Z",
    "id": 0,
    "modifier": "string",
    "productId": 0,
    "remark": "string",
    "state": "string",
    "tenantId": 0,
    "userId": "string"
  },
  "message": "操作成功",
  "success": true
}

返回 2:

{
    "data": null,
    "code": 414111,
    "message": "附件不存在~",
    "success": false
}  

4.10 会员附件信息提交

URL: http://host:8080/attachments

HTTP: POST

参数:

参数名类型含义是否必传备注
tenantIdLong租户 IdM
productIdLong租户下的产品 IdM
companyIdLong企业 IdM业务系统使用 companyId 登录作为 userId 使用
businessTypeString业务类型M
fromTypeString来源M
fileTypeString文件类型M
filePathString存储路径M
fileRealNameString文件真实名称M
fileStorageNameString文件存储名称M

返回:

{
    "data": null,
    "code": 200,
    "message": "操作成功",
    "success": true

}

4.11 会员附件信息删除

URL: http://host:8080/attachments

HTTP: DELETE

参数:

参数名类型含义是否必传备注
tenantIdLong租户 IdM
productIdLong租户下的产品 IdM
companyIdLong企业 IdM业务系统使用 companyId 登录作为 userId 使用

返回 1:

{
    "data": null,
    "code": 200,
    "message": "操作成功",
    "success": true
 }

返回 2:

{
    "data": null,
    "code": 414111,
    "message": "附件不存在~",
    "success": false
} 

4.12 会员附件信息修改

URL: http://host:8080/attachments

HTTP: PUT

参数:

参数名类型含义是否必传备注
tenantIdLong租户 IdM
productIdLong租户下的产品 IdM
companyIdLong企业 IdM业务系统使用 companyId 登录作为 userId 使用
businessTypeString业务类型M
fromTypeString来源M
fileTypeString文件类型M
filePathString存储路径M
fileRealNameString文件真实名称M
fileStorageNameString文件存储名称M

返回 1:

{
    "data": null,
    "code": 200,
    "message": "操作成功",
    "success": true
 }   

返回 2:

{
    "data": null,
    "code": 414111,
    "message": "附件不存在~",
    "success": false
}   

4.13 会员发票信息查询

URL: http://host:8080/invoices/query

HTTP: POST

参数:

参数名类型含义是否必传备注
tenantIdLong租户 IdM
productIdLong租户下的产品 IdM
companyIdLong企业 IdM业务系统使用 companyId 登录作为 userId 使用

返回 1:

{
  "code": 200,
  "data": {
    "generalTaxpayer": "string",
    "corporationTax": "string",
    "invoiceType": "string",
    "invoiceAddress": "string",
    "invoicePhone": "string"
  },
  "message": "操作成功",
  "success": true
}

4.14 会员发票信息提交

URL: http://host:8080/invoices

HTTP: POST

参数:

参数名类型含义是否必传备注
tenantIdLong租户 IdM
productIdLong租户下的产品 IdM
companyIdLong企业 IdM业务系统使用 companyId 登录作为 userId 使用
generalTaxpayerString一般纳税人1:是,0:否
corporationTaxString纳税人识别号
invoiceTypeString发票类型spcl、专票;ord、普票
invoiceAddressString开票地址
invoicePhoneString开票电话

返回:

{
    "data": null,
    "code": 200,
    "message": "操作成功",
    "success": true

}

4.15 会员发票信息删除

URL: http://host:8080 /invoices

HTTP: DELETE

参数:

参数名类型含义是否必传备注
tenantIdLong租户 IdM
productIdLong租户下的产品 IdM
companyIdLong企业 IdM业务系统使用 companyId 登录作为 userId 使用

返回 1:

{
    "data": null,
    "code": 200,
    "message": "操作成功",
    "success": true
 }

4.16 会员发票信息修改

URL: http://host:8080/attachments

HTTP: PUT

参数:

参数名类型含义是否必传备注
tenantIdLong租户 IdM
productIdLong租户下的产品 IdM
companyIdLong企业 IdM业务系统使用 companyId 登录作为 userId 使用
generalTaxpayerString一般纳税人1:是,0:否
corporationTaxString纳税人识别号
invoiceTypeString发票类型spcl、专票;ord、普票
invoiceAddressString开票地址
invoicePhoneString开票电话

返回 1:

{
    "data": null,
    "code": 200,
    "message": "操作成功",
    "success": true
 }   

4.17 会员联系人信息查询

URL: http://host:8080/contacts/query

HTTP: POST

参数:

参数名类型含义是否必传备注
tenantIdLong租户 IdM
productIdLong租户下的产品 IdM
memberIdLong会员 IdM

返回 1:

{
  "code": 200,
  "data": {
    "generalTaxpayer": "string",
    "corporationTax": "string",
    "invoiceType": "string",
    "invoiceAddress": "string",
    "invoicePhone": "string"
  },
  "message": "操作成功",
  "success": true
}

4.18 会员联系人信息提交

URL: http://host:8080/contacts

HTTP: POST

参数:

参数名类型含义是否必传备注
tenantIdLong租户 IdM
productIdLong租户下的产品 IdM
memberIdLong企业 IdM
contactNameString联系人姓名O
contactMobileString联系人手机号O
contactDutyString联系人职务O
contactEmailString联系人邮箱O
contactTelephoneString联系人固话O

返回:

{
    "data": null,
    "code": 200,
    "message": "操作成功",
    "success": true

}

4.19 会员联系人信息删除

URL: http://host:8080/contacts

HTTP: DELETE

参数:

参数名类型含义是否必传备注
tenantIdLong租户 IdM
productIdLong租户下的产品 IdM
memberIdLong会员 IdM

返回 1:

{
    "data": null,
    "code": 200,
    "message": "操作成功",
    "success": true
 }

4.20 会员联系人信息修改

URL: http://host:8080/contacts

HTTP: PUT

参数:

参数名类型含义是否必传备注
tenantIdLong租户 IdM
productIdLong租户下的产品 IdM
memberIdLong企业 IdM
contactNameString联系人姓名O
contactMobileString联系人手机号O
contactDutyString联系人职务O
contactEmailString联系人邮箱O
contactTelephoneString联系人固话O

返回 1:

{
    "data": null,
    "code": 200,
    "message": "操作成功",
    "success": true
 }   

4.21 会员收货地址信息查询

URL: http://host:8080/address /query

HTTP: POST

参数:

参数名类型含义是否必传备注
tenantIdLong租户 IdM
productIdLong租户下的产品 IdM
memberIdLong会员 IdM

返回 1:

{
  "code": 200,
  "data": {
    "addressLinkman": "string",
    "linkmanMobile": "string",
    "province": "string",
    "city": "string",
    "zone": "string",
    "town": "string",
    "address": "string",
    "addressDetail": "string"
  },
  "message": "操作成功",
  "success": true
}

4.22 会员收货地址信息提交

URL: http://host:8080/address

HTTP: POST

参数:

参数名类型含义是否必传备注
tenantIdLong租户 IdM
productIdLong租户下的产品 IdM
memberIdLong会员 IdM
addressLinkmanString联系人姓名O
linkmanMobileString联系人手机号O
provinceString省份O
cityString城市O
zoneString区县O
townString乡镇O
addressString地址O
addressDetailString详细地址O
postalCodeString邮政编码O
addressTypeString
地址类型O10:发票邮寄地址;20:收货地址

返回:

{
    "data": null,
    "code": 200,
    "message": "操作成功",
    "success": true

}

4.23 会员收货地址信息删除

URL: http://host:8080/address

HTTP: DELETE

参数:

参数名类型含义是否必传备注
tenantIdLong租户 IdM
productIdLong租户下的产品 IdM
memberIdLong会员 IdM

返回 1:

{
    "data": null,
    "code": 200,
    "message": "操作成功",
    "success": true
 }

4.24 会员收货地址信息修改

URL: http://host:8080/address

HTTP: PUT

参数:

参数名类型含义是否必传备注
tenantIdLong租户 IdM
productIdLong租户下的产品 IdM
memberIdLong会员 IdM
addressLinkmanString联系人姓名O
linkmanMobileString联系人手机号O
provinceString省份O
cityString城市O
zoneString区县O
townString乡镇O
addressString地址O
addressDetailString详细地址O
postalCodeString邮政编码O
addressTypeString
地址类型O10:发票邮寄地址;20:收货地址

返回 1:

{
    "data": null,
    "code": 200,
    "message": "操作成功",
    "success": true
 }   

4.25 会员等级信息查询

URL: http://host:8080/level /query

HTTP: POST

参数:

参数名类型含义是否必传备注
tenantIdLong租户 IdM
productIdLong租户下的产品 IdM
memberIdLong会员 IdM

返回 1:

{
  "code": 200,
  "data": {
    "level": "string"
  },
  "message": "操作成功",
  "success": true
}

4.26 会员等级信息提交

URL: http://host:8080/level

HTTP: POST

参数:

参数名类型含义是否必传备注
tenantIdLong租户 IdM
productIdLong租户下的产品 IdM
memberIdLong会员 IdM
levelString等级O

返回:

{
    "data": null,
    "code": 200,
    "message": "操作成功",
    "success": true

}

4.27 会员等级信息修改

URL: http://host:8080/level

HTTP: PUT

参数:

参数名类型含义是否必传备注
tenantIdLong租户 IdM
productIdLong租户下的产品 IdM
memberIdLong会员 IdM
levelString等级O

返回 1:

{
    "data": null,
    "code": 200,
    "message": "操作成功",
    "success": true
 }   

4.28 会员积分信查询

URL: http://host:8080/points

HTTP: GET

参数:

参数名类型含义是否必传备注
tenantIdLong租户 IdM
productIdLong租户下的产品 IdM
memberIdLong会员 IdM

返回 1:

{
  "code": 200,
  "data": {
    "pointAll": "string"
  },
  "message": "操作成功",
  "success": true
}

4.29 会员权益信查询

URL: http://host:8080/interests

HTTP: GET

参数:

参数名类型含义是否必传备注
tenantIdLong租户 IdM
productIdLong租户下的产品 IdM
memberIdLong会员 IdM

返回 1:

{
  "code": 200,
  "data": {
    
  },
  "message": "操作成功",
  "success": true
}

五、领域划分

5.1 领域划分

5.1.1 会员信息域

5.1.2 企业信息域

5.1.2 个人信息域

5.1.3 会员信息附件域

5.1.4 会员信息地址域

5.1.5 会员积分域

5.1.6 会员等级域

5.1.7 会员权益

5.2 领域模型图

图 5-1 会员中心领域模型图
在这里插入图片描述

六、数据库****设计

6.1 会员表(mi_member)

字段类型长度是否为空备注
idbigint12否主键
user_idvarchar40否用户 id
member_idvarchar40否会员 id
company_idvarchar40否企业 id
statechar1否会员状态
typechar1否会员类型 1 企业需方会员 2 企业供方会员 3 个人会员
remarkvarchar255
register_timedatetime否注册日期
tenant_idbigint20否租户 id
product_idbigint20否产品 id
deletedchar1否删除状态 1 正常 0 删除
gmt_create_timedatetime否创建时间
gmt_modify_timedatetime修改时间
creatorvarchar20创建人
modifiervarchar20修改人

6.2 企业会员 基本信息(mi_company_info)

字段类型长度是否为空备注
idbigint12否主键
user_idvarchar40否用户 id
company_idvarchar40否企业 id
comapny_short_namechar1否企业简称
company_english_namechar1否英文名称
company_codevarchar255企业编码
company_typedatetime否企业性质
tenant_idbigint20否租户 id
product_idbigint20否产品 id
deletedchar1否删除状态 1 正常 0 删除
gmt_create_timedatetime否创建时间
gmt_modify_timedatetime修改时间
creatorvarchar20创建人
modifiervarchar20修改人

6.3 企业背景信息(mi_company_background)

字段类型长度是否为空备注
idbigint12否主键
company_idvarchar40否企业 id
business_backgroundchar100企业背景
enterprise_sizevarchar10企业规模
enterprises_naturevarchar255企业性质
annual_salesvarchar10年销售额
local_rankingvarchar10当地排名
total_assetsvarchar10总资产
ownership_assetsvarchar10自有资产
employee_numbersvarchar10员工数量
annual_tax_paymentvarchar10年缴税额
product_varietiesvarchar需求产品品种
credit_ratingvarchar10资信等级
tenant_idbigint20否租户 id
product_idbigint20否产品 id
deletedchar1否删除状态 1 正常 0 删除
gmt_create_timedatetime否创建时间
gmt_modify_timedatetime修改时间
creatorvarchar20创建人
modifiervarchar20修改人

6.4 企业会员营业执照信息(mi_business_license)

字段类型长度是否为空备注
idbigint12否主键
company_idvarchar40否企业 id
company_namechar40否企业名称
unified_social_credit_codevarchar40否统一社会信用代码号
register_org_codevarchar40组织机构代码号
register_business_novarchar40工商注册号
register_addressvarchar40否注册地址
register_capitalvarchar40否注册资本
register_currencyvarchar10否币种
register_begin_datedate0否经营期限/起
register_end_datedate0否经营期限/止
legal_personvarchar10法人代表
industryvarchar10所属行业
business_scopevarchar100经营(业务)范围
legal_person_idnumvarchar20法人身份证号
tenant_idbigint20否租户 id
product_idbigint20否产品 id
deletedchar1否删除状态 1 正常 0 删除
gmt_create_timedatetime否创建时间
gmt_modify_timedatetime修改时间
creatorvarchar20创建人
modifiervarchar20修改人

6.5企业会员发票信息**(mi_invoice)**

字段类型长度是否为空备注
idbigint12否主键
company_idvarchar40否企业 id
general_taxpayerchar40否一般纳税人;1:是,0:否
corporation_taxvarchar40否纳税人识别号
invoice_typevarchar40发票类型;spcl、专票;ord、普票’
invoice_addressvarchar40开票地址
invoice_phonevarchar40否开票电话
statevarchar40否数据状态 0 未生效 1 生效
tenant_idbigint20否租户 id
product_idbigint20否产品 id
deletedchar1否删除状态 1 正常 0 删除
gmt_create_timedatetime否创建时间
gmt_modify_timedatetime修改时间
creatorvarchar20创建人
modifiervarchar20修改人

6.6会员联系人信息**(mi_contacts)**

字段类型长度是否为空备注
idbigint12否主键
member_idvarchar40否会员 id
contact_namechar40否联系人姓名
contact_mobilevarchar11否联系人手机号
contact_dutyvarchar10联系人职务
contact_emailvarchar40联系人邮箱
contact_telephonevarchar32否联系人固话
user_typechar1否1 个人 2 是企业
tenant_idbigint20否租户 id
product_idbigint20否产品 id
deletedchar1否删除状态 1 正常 0 删除
gmt_create_timedatetime否创建时间
gmt_modify_timedatetime修改时间
creatorvarchar20创建人
modifiervarchar20修改人

6.7附件信息**(mi_attachment)**

字段类型长度是否为空备注
idbigint12否主键
member_idvarchar40否会员 id
business_typechar40否业务类型
from_typevarchar11否来源(1001 商城 1003 crm)
file_typevarchar10文件类型(.jpg .png)
file_pathvarchar40存储路径
file_real_namevarchar32否文件真实名称
file_storage_namechar1否文件存储名称
remarkvarchar255备注
statechar1数据状态 0 未生效 1 生效
tenant_idbigint20否租户 id
product_idbigint20否产品 id
deletedchar1否删除状态 1 正常 0 删除
gmt_create_timedatetime否创建时间
gmt_modify_timedatetime修改时间
creatorvarchar20创建人
modifiervarchar20修改人

6.8会员收货地址**(mi_address)**

字段类型长度是否为空备注
idbigint12否主键
member_idvarchar40否会员 id
address_linkmanchar40否地址联系人
linkman_mobilevarchar11否联系人手机号
provincevarchar10省份
cityvarchar40城市
zonevarchar32区县
townchar1乡镇
addressvarchar255地址
address_detailvarchar32详细地址
postal_codevarchar10邮政编码
address_typevarchar2地址类型
sequencechar1排序
statechar1数据状态 0 未生效 1 生效
tenant_idbigint20否租户 id
product_idbigint20否产品 id
deletedchar1否删除状态 1 正常 0 删除
gmt_create_timedatetime否创建时间
gmt_modify_timedatetime修改时间
creatorvarchar20创建人
modifiervarchar20修改人

6.9 会员等级(mi_level)

字段类型长度是否为空备注
idbigint12否主键
member_idvarchar40否会员 id
levelchar40否等级
tenant_idbigint20否租户 id
product_idbigint20否产品 id
deletedchar1否删除状态 1 正常 0 删除
gmt_create_timedatetime否创建时间
gmt_modify_timedatetime修改时间
creatorvarchar20创建人
modifiervarchar20修改人

6.1****0 自然人会员**(mi_person_info)**

字段类型长度是否为空备注
idbigint12否主键
user_idvarchar40否
用户 Id
member_idvarchar40否会员 id
nick_namevarchar40否昵称
namevarchar11否姓名
moblievarchar11电话
emailvarchar40邮箱
sexchar1性别
id_cardvarchar20身份证号
birthdayvarchar255生日
provincevarchar10省份
cityvarchar10城市
zonevarchar10区
statechar1数据状态 0 未生效 1 生效
tenant_idbigint20否租户 id
product_idbigint20否产品 id
deletedchar1否删除状态 1 正常 0 删除
gmt_create_timedatetime否创建时间
gmt_modify_timedatetime修改时间
creatorvarchar20创建人
modifiervarchar20修改人

七、技术架构

7.1 系统分层架构图

图7-1 会员中心技术架构图

在这里插入图片描述

7.2 技术选型

技术栈用途说明
SpringBoot2.2.2
SpringCloud2.2.0[Hoxton]Spring Cloud 为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)
Nacos配置中心、服务注册中心
Mybatis-plusMybatis 功能加强,分页
Mysql关系型数据库,数据持久化,业务数据存储

八、数据架构

8.1 持久化机制的选择

Redis 缓存,MySQL 数据库持久化。Mysql 使用阿里云 RDS。建议DBA 搭建MySQL 集群

8.2 持久化存储方案

mybatis-plus + Mysql 持久存储业务数据。

8.3 数据同步与复制策略

RDS 策略。

8.4 数据架构图

图8-1 会员中心数据架构图

在这里插入图片描述

九、部署方案

Jenkins 部署阿里云

十、计划排期

基于java毕设springboot新闻信息管理系统 毕业设计毕设源码毕业论文开题报告参考(5)数据库表 留言表:liuyan 字段名类型备注idInt(11)自动递增;菜单的id(主键),不允许空xingmingvarchar(50)姓名dianhuavarchar(50)电话youxiangvarchar(50)邮箱zhutivarchar(250)主题neironglongtext内容riqidate日期shijiandatetime时间 会员表:huiyuan 字段名类型备注idint自动递增;菜单的id(主键),不允许空shoujivarchar手机号:用户名mimavarchar密码xingming 阅读详情

相关推荐

SpringCloud微服务第1章之项目搭建

高可用:与传统的单机系统比,它的可用性高。举个例子说明下:单机系统如果挂了,那么整个系统的服务就不能提供服务了,这给使用它的商家带来很大的经济损失。而微服务不同,某个服务挂了,可能并不会影响其它微服务继续对外提供服务。而且新开发的功能点或更改的功能点集中在一个服务上面,即使部署上线出了问题,也不会影响其它服务的业务。 松耦合:无论是在开发阶段或部署阶段都是独立的,富有单一职责原则之称,从而保障高可用。 模块化:它将一个整体应用程序分解成一系列服务,每个模块都有它相应的职责,提高了维护与扩展性。在分工方面也有

qq_57756904的博客 1万+

基于电商业务的企业级大中台设计+实现(第一阶段)

对于大中台来讲,现在并没有十分严格的定义,每个企业对其的理解都是不同的,有的在技术上使用大中台模式,有的在业务上使用大中台模式,有的将两者相结合。“大中台,小前台”的机制最初阿里提出的时候,主要应用于O2O线上线下协同、电商等场景,对于电商来说,市场环境是瞬息万变的,而前台是主要的一线业务,这时就需要一个强大的技术中台提供快速设计方法和系统性后端服务,去应对市场变化,灵活快速的做出应对策略。 技术中台从技术角度出发,数据中台从业务数据角度出发,业务中台站在企业全局角度出发,从整体战略、业务支撑、连接用户、业务创新等方面进行统筹规划,由基础中台、技术中台、数据中台L合支撑来建设业务中台。 本套中台案例基于真实工业界业务讲解,将多种经过工业界验证的成熟技术解决方案呈现给大家,本套课程拒绝枯燥的理论,全程代码实操,通过项目驱动的方式,让大家能够真实体验中台工业界开发过程,帮助大家建立中台思维,学习本套课程全部内容你完全可以自主开发一套高性能高可用高扩展的中台系统。本套案例集后端+前台+测试+运维一体,多方位的带你熟悉全过程。本课程将带大家实现一个真实的工业界中台项目,该项目是基于真实的知名互联网企业项目讲解,本课程将分为4个阶段: 第一阶段:会实现中台系统的大部分核心服务,包括:会员中心,商品中心,交易中心,商家中心,支付中心,友凡商城等等。 第二阶段:进一步完善中台系统的核心服务以及优化,包括:营销中心,搜索中心,店铺中心,缓存优化,数据库优化等等。 第三阶段:进一步优化以及完善产品服务,包括:前台系统,中台系统,友凡商城 友凡生鲜,友凡超市等等。 第四阶段:项目收尾阶段以及运维阶段,包括:压力测试,系统维护,系统部署,虚拟化方案,测试方案等等。 本课程包含的技术: IDEA集成开发工具  SpringBoot 2.0.8.RELEASE SpringCloud Finchley.SR2 Thymeleaf(模板引擎技术)  支付宝支付 MyCat、MySQL、Druid  持续集成解决方案(Jenkins) 认证解决方案(JWT) 网关解决方案(Zuul) 负载均衡解决方案(Ribbon) 分布式事务+多线程+事件驱动 MyBatis+Redis+Quartz Ehcache+Hystrix Nginx(Web服务器) Restful AOP技术 性能压力测试Jemter  VUE+jQuery+Ajax+NodeJS VUE+Element-UI 容器部署Docker Kubertenes Lucene、ElasticSearch(搜索) 设计模式、RabbitMQ Swagger2 文档生成工具 人工智能(RNN、LSTM)多语言开发(Python、Django)课程亮点: 1.与企业无缝对接、工业界真实业务场景 2.集后端+前台+测试+运维一体,多面学习技术链 3.多语言协调开发,熟悉语言应用场景4.支持项目快速迭代和开发 5.引入人工智能智能客服系统 6.使用微服务技术栈+前后端分离构建项目 7.引入全新的设计理念 8.全链路性能压力测试 9.分布式事务解决方案 10.事件驱动设计解决方案 11.多线程技术+设计模式的实战应用 12.分布式架构下实现分布式定时调度 13.集成MyBatis实现多数据源路由实战 14.集成SpringCloud实现统一整合方案 15 Kubernetes+Docker容器化部署和管理 16.大型系统分布式部署方案 17.高性能系统(支撑海量数据) 18.高并发下的服务降级、限流实战 19.实现高并发请求和实现高可用架构解决方案 20.全程代码实操,提供全部代码和资料 21.提供答疑和提供企业技术方案咨询企业一线架构师讲授,代码在老师的指导下企业可以复用,提供企业解决方案。  版权归作者所有,盗版将进行法律维权。 

如何维护接口文档供外部调用——在线接口文档管理

上个章节初步将一个应用运行起来,由于服务不会单独存在,服务开发团队必然与其他服务团队进行服务调用,暴露出对外接口势在必行。早期做开发的时候,大家习惯于以 word 或 excel 的形式,但弊端显而易见,一旦接口发生变动,文档需要同步更新,遗憾的是很多接口已经更新,但文档都没有跟上,相信你也有过痛苦的经历。本文带领你认识几款接口文档管理工具,并实现本案例实践中用到的在线接口文档管理。 几款 API...

东南草堂 1501

基于电商业务的企业级大中台设计+实现(第四阶段)

对于大中台来讲,现在并没有十分严格的定义,每个企业对其的理解都是不同的,有的在技术上使用大中台模式,有的在业务上使用大中台模式,有的将两者相结合。“大中台,小前台”的机制最初阿里提出的时候,主要应用于O2O线上线下协同、电商等场景,对于电商来说,市场环境是瞬息万变的,而前台是主要的一线业务,这时就需要一个强大的技术中台提供快速设计方法和系统性后端服务,去应对市场变化,灵活快速的做出应对策略。 技术中台从技术角度出发,数据中台从业务数据角度出发,业务中台站在企业全局角度出发,从整体战略、业务支撑、连接用户、业务创新等方面进行统筹规划,由基础中台、技术中台、数据中台L合支撑来建设业务中台。 本套中台案例基于真实工业界业务讲解,将多种经过工业界验证的成熟技术解决方案呈现给大家,本套课程拒绝枯燥的理论,全程代码实操,通过项目驱动的方式,让大家能够真实体验中台工业界开发过程,帮助大家建立中台思维,学习本套课程全部内容可以帮助提高自主开发一套高性能高可用高扩展的中台系统的能力。本套案例集后端+前台+测试+运维一体,多方位的带你熟悉全过程。本课程将带大家实现一个真实的工业界中台项目,该项目是基于真实的知名互联网企业项目讲解,本课程将分为4个阶段: 第一阶段:会实现中台系统的大部分核心服务,包括:会员中心,商品中心,交易中心,商家中心,支付中心,友凡商城等等。 第二阶段:进一步完善中台系统的核心服务以及优化,包括:营销中心,搜索中心,店铺中心,缓存优化,数据库优化等等。 第三阶段:进一步优化以及完善产品服务,包括:前台系统,中台系统,友凡商城 友凡生鲜,友凡超市等等。 第四阶段:项目收尾阶段以及运维阶段,包括:压力测试,系统维护,系统部署,虚拟化方案,测试方案等等。 本课程包含的技术: IDEA集成开发工具 SpringBoot 2.0.8.RELEASE SpringCloud Finchley.SR2 Thymeleaf(模板引擎技术) 支付宝支付MyCat、MySQL、Druid  持续集成解决方案(Jenkins) 认证解决方案(JWT) 网关解决方案(Zuul) 负载均衡解决方案(Ribbon) 分布式事务+多线程+事件驱动 MyBatis+Redis+Quartz Ehcache+Hystrix Nginx(Web服务器) Restful AOP技术 性能压力测试Jemter VUE+jQuery+Ajax+NodeJS VUE+Element-UI 容器部署Docker Kubertenes Lucene、ElasticSearch(搜索) 设计模式、RabbitMQ Swagger2 文档生成工具 人工智能(RNN、LSTM)多语言开发(Python、Django)课程亮点: 1.与企业无缝对接、工业界真实业务场景 2.集后端+前台+测试+运维一体,多面学习技术链 3.多语言协调开发,熟悉语言应用场景4.支持项目快速迭代和开发 5.引入人工智能智能客服系统6.使用微服务技术栈+前后端分离构建项目 7.引入全新的设计理念 8.全链路性能压力测试 9.分布式事务解决方案 10.事件驱动设计解决方案 11.多线程技术+设计模式的实战应用 12.分布式架构下实现分布式定时调度 13.集成MyBatis实现多数据源路由实战 14.集成SpringCloud实现统一整合方案 15 Kubernetes+Docker容器化部署和管理 16.大型系统分布式部署方案 17.高性能系统(支撑海量数据) 18.高并发下的服务降级、限流实战 19.实现高并发请求和实现高可用架构解决方案 20.全程代码实操,提供全部代码和资料 21.提供答疑和提供企业技术方案咨询企业一线架构师讲授,代码在老师的指导下企业可以复用,提供企业落地方案。  版权归作者所有,盗版将进行法律维权。 

(完整版)基于SpringCloud微服务系统设计方案.pdf

(完整版)基于SpringCloud微服务系统设计方案.pdf(完整版)基于SpringCloud微服务系统设计方案.pdf(完整版)基于SpringCloud微服务系统设计方案.pdf(完整版)基于SpringCloud微服务系统设计方案.pdf(完整版)基于SpringCloud微服务系统设计方案.pdf(完整版)基于SpringCloud微服务系统设计方案.pdf(完整版)基于SpringCloud微服务系统设计方案.pdf(完整版)基于SpringCloud微服务系统设计方案.pdf(完整版)基于SpringCloud微服务系统设计方案.pdf

LilyPad三色LED共阳极控制:从原理到Arduino编程实战

RGB LED作为可编程光源的核心组件,通过红、绿、蓝三原色的加色混合原理,能够生成丰富的色彩。其内部结构主要分为共阳极和共阴极两种类型,这决定了驱动电路的设计和编程逻辑。在电子织物和可穿戴设备领域,掌握RGB LED的控制技术对于实现动态光效和交互反馈至关重要。本文以LilyPad三色LED为例,深入解析其共阳极特性,并详细演示如何结合Arduino进行PWM编程,从而精准控制颜色与亮度,为智能服装、互动艺术装置等项目提供可靠的照明解决方案。

weixin_30237719的博客 598

SpringCloudAlibaba货币交易系统实战 云盘

SpringCloudAlibaba货币交易系统实战

qq_25941201的博客 908

某讯天御滑块验证码逆向实战:从参数解析到环境对抗

本文详细解析了某讯天御滑块验证码的逆向工程实战技巧,从关键参数解析到浏览器环境模拟对抗。重点介绍了collect、eks等参数的逆向思路,以及如何通过puppeteer等工具补全环境检测,帮助开发者有效突破验证码防护。文章还提供了常见错误解决方案和性能优化建议,是验证码逆向领域的实用指南。

weixin_29325007的博客 437

电商秒杀+会员推荐场景下的 Java 面试实战:Spring Boot、Kafka、Redis、AI RAG 与微服务治理

以电商秒杀与会员推荐为业务场景,模拟互联网大厂 Java 面试三轮问答,覆盖 Spring Boot、Kafka、Redis、微服务、AI RAG、鉴权、监控与 CI/CD,并在文末详细解析所有问题。

Cdasdas的博客 228

YOLOv8改进 - 注意力篇 - 引入CAA注意力机制

YOLOv8改进 - 注意力篇 - 引入CAA注意力机制

浪子L的博客 5223

逆向分析-SeparationPreview.aip-分色预览-结构分析(一)-x64dbg条件日志打印-命令表达式-PS脚本

从功能上分析,仅显示使用的专色这个功能,并没有触发插件接口。使用X64dbg加载illustrator进程,切换到句柄窗口,在窗口过程中,右键刷新获取界面。在x64dbg中,在UI中可以输入一些条件表达式,能够计算出对应的值,并打印在日志中。常用的,如果非暂停,输出第一个参数。参数二是utf16的指针,utf16@字符串地址,这里的字符串地址为[[ebp-108]]参数一是utf8的,utf8@字符串地址,这里的字符串地址为[ebp-28]从界面上分析,一个颜色列表,及仅显示专色的多选框组成。

插件开发 643

智慧零售全渠道业务中台系统

零售系统

usa_washington的博客 1284

【乐鑫】唤醒词修改方法

乐鑫科技的语音识别模块(如ESP-SR)支持自定义唤醒词,但需通过官方工具链完成。

以实战经验介绍行业知识 823

终极开源电商框架Medusa:如何快速构建灵活电商平台的完整指南 [特殊字符]

在当今数字化时代,电商平台已成为企业发展的核心引擎。面对日益复杂的业务需求和快速变化的市场环境,选择一个合适的电商框架至关重要。Medusa作为一款开源的电子商务平台构建框架,凭借其模块化架构和强大的生态系统,正成为众多开发者和企业的首选解决方案。 ## 项目亮点速览 ✨ Medusa不仅仅是一个电商框架,更是一个完整的数字商务生态系统。它提供了构建现代电商平台所需的一切组件和服务,同时保持了

gitblog_00655的博客 571

分享Charles抓包 显示<unknown> 解决方案 !

首先电脑上需要安装charles,然后需要设置手机上的WiFi设置,修改配置中的代理设置,把服务器的主机名设置成你电脑当前的ip地址(需要注意的是,你的代理服务器主机名的ip地址要和你当前连的ip地址的网段需要一致)。像 Charles 这样的工具,虽然功能强大,但仍然需要用户具备一定的配置和排障能力,以应对各种复杂的网络环境。通过将 Charles 的 SSL 证书正确安装到移动设备中,并在设置中启用“允许不安全的内容”选项,最终成功解决了这一问题,并准确抓取到所有请求数据。Charles 显示。

朱雀随云记的博客 8105

戴尔PowerEdge R740服务器安装Debian系统后无法显示磁盘阵列

【代码】戴尔PowerEdge R740服务器安装Debian系统后无法显示磁盘阵列。

路~可以走过 1897

基于SpringBoot的超市会员购物系统源码设计与文档

本课题聚焦传统超市运营中会员管理松散、消费数据割裂、营销精准度不足等痛点,结合零售行业数字化转型趋势,设计开发基于 SpringBoot 的超市会员购物系统,构建 “会员服务 + 消费管理 + 精准营销” 一体化运营平台。当前传统超市存在会员信息分散、积分管理混乱、促销活动针对性弱、消费体验单一等问题,难以满足超市精细化运营与消费者个性化需求,系统开发兼具实用价值与行业意义。 系统以 SpringBoot 为核心后端框架,整合 MyBatis-Plus 实现高效数据持久化,搭配 MySQL 数据库存储会员档

博主自己就是程序员、避免中介对接,从事软件开发多年,累计开发或辅导多名同学, 有丰富的项目开发和文档编写经验、同学们有任何项目问题都可以联系我~ 887

脑电信号处理实战 01 | 从 0 跑通第一个 EEG 分析:加载、滤波、频谱与“睁眼闭眼“

本文以 UCI 公开数据集"EEG Eye State"为例,从零走通脑电处理的完整流水线——数据加载、1–40 Hz 带通滤波、Welch 功率谱、频带功率、通道相关性与箱线图质控、睁闭眼对比和时频分析,并用 8 张科研风格图层层揭示这份数据中的伪迹与通道重复问题,说明"流程跑得通不等于结果可信,质量控制永远先行"。

qq_53529450的博客 112

微服务电商移动商城后端交互设计文档

第一部分:架构以及工具大略 1.使用REST API的微服务设计风格 (1)接口使用Restful规范,使用get,post,put,delete取代单单的get,post.完成对曾删查改的覆盖. (2)在具体的查询参数上比如查询id为1的某型号商品使用find/{id}的形式,依次类推全都使用PathVariable(路径参数)的RESTFUL风格 2.Web UI微服务设计(前端) (1)功能...

weixin_43404791的博客 1151

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

基于SpringBoot连锁超市会员系统(源码+文档+部署讲解等)

在消费升级与零售数字化转型的背景下,我国连锁超市行业面临客户流失严重、营销精准度低、运营效率不高等问题。据中国连锁经营协会统计,我国连锁超市会员复购率不足 30%,会员营销投入产出比仅 1:2.5,超 60% 的超市仍依赖传统纸质会员卡管理。开发基于 SpringBoot 的连锁超市会员系统,旨在构建智能化、全渠道的会员服务平台。 该系统以 SpringBoot 为核心框架,整合会员管理、积分体系、营销活动、数据分析、库存管理等功能模块,实现超市会员服务全流程数字化。通过大数据分析会员消费习惯,提供个性化商

648

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

基于springboot的连锁超市会员系统(源码+lw+部署文档+讲解等)

课题目的:本课题旨在设计并实现一个基于 SpringBoot 框架的连锁超市会员系统,通过整合现代信息技术与零售行业管理需求,构建一套高效、智能、可扩展的会员管理平台。具体目标包括:实现会员信息管理(注册、分级、积分、储值等)、会员营销活动管理(折扣、满减、优惠券等)、消费数据分析、门店协同管理、移动端服务等核心功能;支持多门店数据实时同步与集中管理,优化供应链与库存调配;通过大数据分析挖掘会员消费行为,提供个性化推荐与精准营销;建立会员忠诚度体系,提升顾客复购率与品牌粘性;同时,为超市管理者提供决策支持工

全网粉丝10W+、全栈领域优质创作者、掘金、阿里云等社区博客专家 1120

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

基于SpringBoot+Vue的连锁超市会员系统(毕业设计源码+文档+部署讲解等)

基于 SpringBoot+Vue 的连锁超市会员系统旨在解决连锁超市会员管理分散、数据不通、营销精准度低等问题,为超市构建统一、高效的会员服务与管理平台。在连锁超市运营中,各门店往往独立管理会员,导致会员信息孤岛、积分无法通用、营销活动难以同步,同时传统会员系统功能单一,难以满足消费者个性化服务需求。本系统采用 SpringBoot 作为后端开发框架,搭配 Vue.js 构建前端交互界面,通过前后端分离架构,实现会员数据的集中管理、精准营销和高效服务,提升会员忠诚度与超市运营效率。​ 系统核心功能涵盖七大

专注于大学生项目实战开发,讲解,毕业答疑辅导,java就业辅导,高校老师/讲师/同行合作。以及产品测评宣传、工具推广等合作。全网粉丝10w+,平台优质java、小程序创作者。 1065

毕业设计|基于springboot的影城会员管理系统+文档源码

摘要: 针对传统影城会员管理数字化需求,本项目开发了一套基于SpringBoot+Vue的智能会员管理系统,解决会员管理低效、营销匮乏等痛点。系统整合智能会员画像、动态票价、跨平台核销等功能,实现会员办卡效率提升300%、复购率提高45%。采用前后端分离架构(Vue+SpringBoot/MyBatis),支持多端核销与实时数据看板,适用于中小影厅,预计单影城年增收30-50万元。功能涵盖会员/积分管理、精准营销及多维数据分析,助力影院智能化升级。

鑫鑫源码工作室的博客 785

基于SpringBoot+Vue的酒店会员管理系统(源码+文档+部署讲解等)

本系统针对传统酒店会员管理存在的信息不互通、营销精准度低、服务体验差等问题,设计并实现了一个基于 SpringBoot+Vue 的酒店会员管理系统。系统采用前后端分离架构,前端使用 Vue.js 构建响应式界面,后端基于 SpringBoot+MyBatis-Plus 搭建服务体系,整合会员信息管理、积分规则配置、营销活动管理、客户服务等核心功能。通过集成 Redis 缓存高频访问数据,利用 Elasticsearch 实现会员信息的快速检索。创新点在于构建会员画像系统,通过多维度数据分析生成会员偏好标签,

专注于大学生项目实战开发,讲解,毕业答疑辅导,java就业辅导,高校老师/讲师/同行合作。以及产品测评宣传、工具推广等合作。全网粉丝10w+,平台优质java、小程序创作者。 826

基于springboot攀枝花市金河加油站会员管理系统设计与实现(源码+文档+部署讲解等)

在成品油市场竞争加剧与数字化转型加速的背景下,我国加油站行业面临客户流失严重、营销效率低下、管理粗放等问题。据中国加油站协会统计,我国加油站会员渗透率不足 40%,会员复购率仅 35%,而攀枝花市金河加油站作为区域龙头企业,亟需通过数字化手段提升会员服务质量与管理效率。开发基于 SpringBoot 的会员管理系统,旨在构建智能化、全流程的客户关系管理平台。 该系统以 SpringBoot 为核心框架,整合会员注册、积分管理、消费记录、优惠活动、营销推送、数据分析等功能模块,实现会员服务全流程数字化。通过大

677
上一篇: 阿里云OSS 文件List 转换为树形结果
下一篇: 专业网盘中大文件夹移动、复制问题解决实践
hamish-wu
博客等级 码龄15年 2814粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值