ai-engineering-init 1.3.3 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/hooks/skill-forced-eval.js +4 -1
- package/.claude/settings.json +3 -3
- package/.claude/skills/add-skill/SKILL.md +252 -116
- package/.claude/skills/api-development/SKILL.md +83 -377
- package/.claude/skills/architecture-design/SKILL.md +138 -632
- package/.claude/skills/backend-annotations/SKILL.md +134 -506
- package/.claude/skills/banana-image/SKILL.md +10 -3
- package/.claude/skills/brainstorm/SKILL.md +103 -535
- package/.claude/skills/bug-detective/SKILL.md +147 -1097
- package/.claude/skills/bug-detective/references/error-patterns.md +242 -0
- package/.claude/skills/code-patterns/SKILL.md +116 -426
- package/.claude/skills/code-patterns/references/leniu-code-patterns.md +87 -0
- package/.claude/skills/crud-development/SKILL.md +64 -304
- package/.claude/skills/data-permission/SKILL.md +105 -412
- package/.claude/skills/data-permission/references/custom-data-scope.md +90 -0
- package/.claude/skills/file-oss-management/SKILL.md +106 -714
- package/.claude/skills/file-oss-management/references/entities.md +105 -0
- package/.claude/skills/file-oss-management/references/service-impl.md +104 -0
- package/.claude/skills/leniu-api-development/SKILL.md +142 -626
- package/.claude/skills/leniu-api-development/references/real-examples.md +273 -0
- package/.claude/skills/leniu-architecture-design/SKILL.md +176 -391
- package/.claude/skills/leniu-backend-annotations/SKILL.md +132 -519
- package/.claude/skills/leniu-brainstorm/SKILL.md +132 -541
- package/.claude/skills/leniu-brainstorm/references/business-scenarios.md +162 -0
- package/.claude/skills/leniu-crud-development/SKILL.md +232 -938
- package/.claude/skills/leniu-crud-development/references/templates.md +597 -0
- package/.claude/skills/leniu-customization-location/SKILL.md +410 -0
- package/.claude/skills/leniu-data-permission/SKILL.md +70 -0
- package/.claude/skills/leniu-java-entity/SKILL.md +76 -590
- package/.claude/skills/leniu-java-entity/references/templates.md +237 -0
- package/.claude/skills/leniu-java-export/SKILL.md +94 -379
- package/.claude/skills/leniu-java-logging/SKILL.md +106 -709
- package/.claude/skills/leniu-java-logging/references/data-mask.md +46 -0
- package/.claude/skills/leniu-java-logging/references/logging-scenarios.md +113 -0
- package/.claude/skills/leniu-java-mybatis/SKILL.md +73 -446
- package/.claude/skills/leniu-java-mybatis/references/report-mapper.md +88 -0
- package/.claude/skills/leniu-report-customization/SKILL.md +111 -325
- package/.claude/skills/leniu-report-customization/references/table-fields.md +93 -0
- package/.claude/skills/leniu-report-standard-customization/SKILL.md +328 -0
- package/.claude/skills/leniu-report-standard-customization/references/analysis-module.md +64 -0
- package/.claude/skills/leniu-report-standard-customization/references/table-fields.md +113 -0
- package/.claude/skills/leniu-security-guard/SKILL.md +133 -347
- package/.claude/skills/mysql-debug/SKILL.md +364 -0
- package/.claude/skills/openspec-apply-change/SKILL.md +10 -1
- package/.claude/skills/openspec-archive-change/SKILL.md +9 -1
- package/.claude/skills/openspec-bulk-archive-change/SKILL.md +9 -1
- package/.claude/skills/openspec-continue-change/SKILL.md +9 -1
- package/.claude/skills/openspec-explore/SKILL.md +10 -1
- package/.claude/skills/openspec-ff-change/SKILL.md +9 -1
- package/.claude/skills/openspec-new-change/SKILL.md +9 -1
- package/.claude/skills/openspec-onboard/SKILL.md +15 -130
- package/.claude/skills/openspec-sync-specs/SKILL.md +9 -1
- package/.claude/skills/openspec-verify-change/SKILL.md +9 -1
- package/.claude/skills/performance-doctor/SKILL.md +110 -434
- package/.claude/skills/redis-cache/SKILL.md +89 -595
- package/.claude/skills/redis-cache/references/listeners.md +23 -0
- package/.claude/skills/scheduled-jobs/SKILL.md +88 -407
- package/.claude/skills/security-guard/SKILL.md +137 -532
- package/.claude/skills/security-guard/references/encrypt-config.md +103 -0
- package/.claude/skills/security-guard/references/sensitive-strategies.md +42 -0
- package/.claude/skills/sms-mail/SKILL.md +116 -574
- package/.claude/skills/sms-mail/references/mail-config.md +88 -0
- package/.claude/skills/sms-mail/references/sms-config.md +74 -0
- package/.claude/skills/social-login/SKILL.md +112 -514
- package/.claude/skills/social-login/references/provider-configs.md +118 -0
- package/.claude/skills/tenant-management/SKILL.md +129 -444
- package/.claude/skills/tenant-management/references/tenant-scenarios.md +91 -0
- package/.claude/skills/test-development/SKILL.md +86 -540
- package/.claude/skills/test-development/references/parameterized-examples.md +119 -0
- package/.claude/skills/utils-toolkit/SKILL.md +52 -305
- package/.claude/skills/utils-toolkit/references/redis-utils-api.md +56 -0
- package/.claude/skills/websocket-sse/SKILL.md +105 -550
- package/.claude/skills/workflow-engine/SKILL.md +147 -502
- package/.codex/skills/add-skill/SKILL.md +252 -116
- package/.codex/skills/api-development/SKILL.md +172 -599
- package/.codex/skills/architecture-design/SKILL.md +138 -504
- package/.codex/skills/backend-annotations/SKILL.md +134 -496
- package/.codex/skills/banana-image/SKILL.md +10 -3
- package/.codex/skills/brainstorm/SKILL.md +103 -535
- package/.codex/skills/bug-detective/SKILL.md +147 -1097
- package/.codex/skills/bug-detective/references/error-patterns.md +242 -0
- package/.codex/skills/code-patterns/SKILL.md +120 -282
- package/.codex/skills/code-patterns/references/leniu-code-patterns.md +87 -0
- package/.codex/skills/crud-development/SKILL.md +64 -292
- package/.codex/skills/data-permission/SKILL.md +108 -407
- package/.codex/skills/data-permission/references/custom-data-scope.md +90 -0
- package/.codex/skills/database-ops/SKILL.md +8 -154
- package/.codex/skills/error-handler/SKILL.md +10 -0
- package/.codex/skills/file-oss-management/SKILL.md +106 -714
- package/.codex/skills/file-oss-management/references/entities.md +105 -0
- package/.codex/skills/file-oss-management/references/service-impl.md +104 -0
- package/.codex/skills/git-workflow/SKILL.md +27 -5
- package/.codex/skills/leniu-api-development/SKILL.md +142 -626
- package/.codex/skills/leniu-api-development/references/real-examples.md +273 -0
- package/.codex/skills/leniu-architecture-design/SKILL.md +176 -391
- package/.codex/skills/leniu-backend-annotations/SKILL.md +132 -519
- package/.codex/skills/leniu-brainstorm/SKILL.md +132 -541
- package/.codex/skills/leniu-brainstorm/references/business-scenarios.md +162 -0
- package/.codex/skills/leniu-crud-development/SKILL.md +232 -938
- package/.codex/skills/leniu-crud-development/references/templates.md +597 -0
- package/.codex/skills/leniu-customization-location/SKILL.md +410 -0
- package/.codex/skills/leniu-data-permission/SKILL.md +70 -0
- package/.codex/skills/leniu-java-code-style/SKILL.md +510 -0
- package/.codex/skills/leniu-java-entity/SKILL.md +76 -590
- package/.codex/skills/leniu-java-entity/references/templates.md +237 -0
- package/.codex/skills/leniu-java-export/SKILL.md +94 -379
- package/.codex/skills/leniu-java-logging/SKILL.md +106 -709
- package/.codex/skills/leniu-java-logging/references/data-mask.md +46 -0
- package/.codex/skills/leniu-java-logging/references/logging-scenarios.md +113 -0
- package/.codex/skills/leniu-java-mybatis/SKILL.md +73 -446
- package/.codex/skills/leniu-java-mybatis/references/report-mapper.md +88 -0
- package/.codex/skills/leniu-report-customization/SKILL.md +111 -325
- package/.codex/skills/leniu-report-customization/references/table-fields.md +93 -0
- package/.codex/skills/leniu-report-standard-customization/SKILL.md +328 -0
- package/.codex/skills/leniu-report-standard-customization/references/analysis-module.md +64 -0
- package/.codex/skills/leniu-report-standard-customization/references/table-fields.md +113 -0
- package/.codex/skills/leniu-security-guard/SKILL.md +133 -347
- package/.codex/skills/mysql-debug/SKILL.md +364 -0
- package/.codex/skills/openspec-apply-change/SKILL.md +10 -1
- package/.codex/skills/openspec-archive-change/SKILL.md +9 -1
- package/.codex/skills/openspec-bulk-archive-change/SKILL.md +9 -1
- package/.codex/skills/openspec-continue-change/SKILL.md +9 -1
- package/.codex/skills/openspec-explore/SKILL.md +10 -1
- package/.codex/skills/openspec-ff-change/SKILL.md +9 -1
- package/.codex/skills/openspec-new-change/SKILL.md +9 -1
- package/.codex/skills/openspec-onboard/SKILL.md +15 -130
- package/.codex/skills/openspec-sync-specs/SKILL.md +9 -1
- package/.codex/skills/openspec-verify-change/SKILL.md +9 -1
- package/.codex/skills/performance-doctor/SKILL.md +110 -434
- package/.codex/skills/project-navigator/SKILL.md +20 -1
- package/.codex/skills/redis-cache/SKILL.md +93 -589
- package/.codex/skills/redis-cache/references/listeners.md +23 -0
- package/.codex/skills/scheduled-jobs/SKILL.md +88 -407
- package/.codex/skills/security-guard/SKILL.md +141 -527
- package/.codex/skills/security-guard/references/encrypt-config.md +103 -0
- package/.codex/skills/security-guard/references/sensitive-strategies.md +42 -0
- package/.codex/skills/sms-mail/SKILL.md +116 -574
- package/.codex/skills/sms-mail/references/mail-config.md +88 -0
- package/.codex/skills/sms-mail/references/sms-config.md +74 -0
- package/.codex/skills/social-login/SKILL.md +112 -514
- package/.codex/skills/social-login/references/provider-configs.md +118 -0
- package/.codex/skills/store-pc/SKILL.md +258 -383
- package/.codex/skills/tenant-management/SKILL.md +129 -444
- package/.codex/skills/tenant-management/references/tenant-scenarios.md +91 -0
- package/.codex/skills/test-development/SKILL.md +86 -540
- package/.codex/skills/test-development/references/parameterized-examples.md +119 -0
- package/.codex/skills/ui-pc/SKILL.md +350 -387
- package/.codex/skills/utils-toolkit/SKILL.md +52 -283
- package/.codex/skills/utils-toolkit/references/redis-utils-api.md +56 -0
- package/.codex/skills/websocket-sse/SKILL.md +105 -550
- package/.codex/skills/workflow-engine/SKILL.md +147 -502
- package/.cursor/hooks.json +3 -3
- package/.cursor/rules/skill-activation.mdc +2 -0
- package/.cursor/skills/add-skill/SKILL.md +252 -116
- package/.cursor/skills/api-development/SKILL.md +83 -377
- package/.cursor/skills/architecture-design/SKILL.md +138 -632
- package/.cursor/skills/backend-annotations/SKILL.md +134 -506
- package/.cursor/skills/banana-image/SKILL.md +10 -3
- package/.cursor/skills/brainstorm/SKILL.md +103 -535
- package/.cursor/skills/bug-detective/SKILL.md +147 -1097
- package/.cursor/skills/bug-detective/references/error-patterns.md +242 -0
- package/.cursor/skills/code-patterns/SKILL.md +116 -426
- package/.cursor/skills/code-patterns/references/leniu-code-patterns.md +87 -0
- package/.cursor/skills/crud-development/SKILL.md +64 -304
- package/.cursor/skills/data-permission/SKILL.md +105 -412
- package/.cursor/skills/data-permission/references/custom-data-scope.md +90 -0
- package/.cursor/skills/file-oss-management/SKILL.md +106 -714
- package/.cursor/skills/file-oss-management/references/entities.md +105 -0
- package/.cursor/skills/file-oss-management/references/service-impl.md +104 -0
- package/.cursor/skills/git-workflow/SKILL.md +27 -5
- package/.cursor/skills/leniu-api-development/SKILL.md +142 -626
- package/.cursor/skills/leniu-api-development/references/real-examples.md +273 -0
- package/.cursor/skills/leniu-architecture-design/SKILL.md +176 -391
- package/.cursor/skills/leniu-backend-annotations/SKILL.md +132 -519
- package/.cursor/skills/leniu-brainstorm/SKILL.md +132 -541
- package/.cursor/skills/leniu-brainstorm/references/business-scenarios.md +162 -0
- package/.cursor/skills/leniu-crud-development/SKILL.md +232 -938
- package/.cursor/skills/leniu-crud-development/references/templates.md +597 -0
- package/.cursor/skills/leniu-customization-location/SKILL.md +410 -0
- package/.cursor/skills/leniu-data-permission/SKILL.md +70 -0
- package/.cursor/skills/leniu-java-code-style/SKILL.md +510 -0
- package/.cursor/skills/leniu-java-entity/SKILL.md +76 -590
- package/.cursor/skills/leniu-java-entity/references/templates.md +237 -0
- package/.cursor/skills/leniu-java-export/SKILL.md +94 -379
- package/.cursor/skills/leniu-java-logging/SKILL.md +106 -709
- package/.cursor/skills/leniu-java-logging/references/data-mask.md +46 -0
- package/.cursor/skills/leniu-java-logging/references/logging-scenarios.md +113 -0
- package/.cursor/skills/leniu-java-mybatis/SKILL.md +73 -446
- package/.cursor/skills/leniu-java-mybatis/references/report-mapper.md +88 -0
- package/.cursor/skills/leniu-report-customization/SKILL.md +111 -325
- package/.cursor/skills/leniu-report-customization/references/table-fields.md +93 -0
- package/.cursor/skills/leniu-report-standard-customization/SKILL.md +328 -0
- package/.cursor/skills/leniu-report-standard-customization/references/analysis-module.md +64 -0
- package/.cursor/skills/leniu-report-standard-customization/references/table-fields.md +113 -0
- package/.cursor/skills/leniu-security-guard/SKILL.md +133 -347
- package/.cursor/skills/mysql-debug/SKILL.md +364 -0
- package/.cursor/skills/openspec-apply-change/SKILL.md +10 -1
- package/.cursor/skills/openspec-archive-change/SKILL.md +9 -1
- package/.cursor/skills/openspec-bulk-archive-change/SKILL.md +9 -1
- package/.cursor/skills/openspec-continue-change/SKILL.md +9 -1
- package/.cursor/skills/openspec-explore/SKILL.md +10 -1
- package/.cursor/skills/openspec-ff-change/SKILL.md +9 -1
- package/.cursor/skills/openspec-new-change/SKILL.md +9 -1
- package/.cursor/skills/openspec-onboard/SKILL.md +15 -130
- package/.cursor/skills/openspec-sync-specs/SKILL.md +9 -1
- package/.cursor/skills/openspec-verify-change/SKILL.md +9 -1
- package/.cursor/skills/performance-doctor/SKILL.md +110 -434
- package/.cursor/skills/redis-cache/SKILL.md +89 -595
- package/.cursor/skills/redis-cache/references/listeners.md +23 -0
- package/.cursor/skills/scheduled-jobs/SKILL.md +88 -407
- package/.cursor/skills/security-guard/SKILL.md +137 -532
- package/.cursor/skills/security-guard/references/encrypt-config.md +103 -0
- package/.cursor/skills/security-guard/references/sensitive-strategies.md +42 -0
- package/.cursor/skills/sms-mail/SKILL.md +116 -574
- package/.cursor/skills/sms-mail/references/mail-config.md +88 -0
- package/.cursor/skills/sms-mail/references/sms-config.md +74 -0
- package/.cursor/skills/social-login/SKILL.md +112 -514
- package/.cursor/skills/social-login/references/provider-configs.md +118 -0
- package/.cursor/skills/tenant-management/SKILL.md +129 -444
- package/.cursor/skills/tenant-management/references/tenant-scenarios.md +91 -0
- package/.cursor/skills/test-development/SKILL.md +86 -540
- package/.cursor/skills/test-development/references/parameterized-examples.md +119 -0
- package/.cursor/skills/utils-toolkit/SKILL.md +52 -305
- package/.cursor/skills/utils-toolkit/references/redis-utils-api.md +56 -0
- package/.cursor/skills/websocket-sse/SKILL.md +105 -550
- package/.cursor/skills/workflow-engine/SKILL.md +147 -502
- package/AGENTS.md +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# 邮件完整配置参考
|
|
2
|
+
|
|
3
|
+
## 常用 SMTP 服务器
|
|
4
|
+
|
|
5
|
+
| 邮箱服务商 | SMTP 服务器 | SSL 端口 | 非 SSL 端口 |
|
|
6
|
+
|-----------|-------------|---------|------------|
|
|
7
|
+
| 163 邮箱 | smtp.163.com | 465 | 25 |
|
|
8
|
+
| QQ 邮箱 | smtp.qq.com | 465 | 587 |
|
|
9
|
+
| 阿里企业邮箱 | smtp.mxhichina.com | 465 | 25 |
|
|
10
|
+
| 腾讯企业邮箱 | smtp.exmail.qq.com | 465 | 587 |
|
|
11
|
+
| Gmail | smtp.gmail.com | 465 | 587 |
|
|
12
|
+
| Outlook | smtp.office365.com | 587 | 587 |
|
|
13
|
+
|
|
14
|
+
## 完整配置示例
|
|
15
|
+
|
|
16
|
+
```yaml
|
|
17
|
+
mail:
|
|
18
|
+
enabled: true
|
|
19
|
+
host: smtp.163.com
|
|
20
|
+
port: 465
|
|
21
|
+
auth: true
|
|
22
|
+
from: system@example.com
|
|
23
|
+
user: system@example.com
|
|
24
|
+
pass: ${MAIL_PASSWORD} # 授权码,非登录密码
|
|
25
|
+
sslEnable: true
|
|
26
|
+
starttlsEnable: false
|
|
27
|
+
timeout: 10000
|
|
28
|
+
connectionTimeout: 10000
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## 业务通知邮件示例
|
|
32
|
+
|
|
33
|
+
### 订单确认邮件
|
|
34
|
+
|
|
35
|
+
```java
|
|
36
|
+
public void sendOrderConfirmation(Order order, User user) {
|
|
37
|
+
String htmlContent = String.format("""
|
|
38
|
+
<div style="max-width: 600px; margin: 0 auto; font-family: Arial;">
|
|
39
|
+
<h2>订单确认</h2>
|
|
40
|
+
<p>尊敬的 %s,您好!</p>
|
|
41
|
+
<table style="width: 100%%; border-collapse: collapse;">
|
|
42
|
+
<tr><td>订单号:</td><td>%s</td></tr>
|
|
43
|
+
<tr><td>下单时间:</td><td>%s</td></tr>
|
|
44
|
+
<tr><td>订单金额:</td><td>¥%s</td></tr>
|
|
45
|
+
</table>
|
|
46
|
+
</div>
|
|
47
|
+
""",
|
|
48
|
+
user.getNickName(), order.getOrderNo(),
|
|
49
|
+
DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", order.getCreateTime()),
|
|
50
|
+
order.getTotalAmount()
|
|
51
|
+
);
|
|
52
|
+
|
|
53
|
+
MailUtils.sendHtml(user.getEmail(), "【若依商城】订单确认", htmlContent);
|
|
54
|
+
}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### 密码重置邮件
|
|
58
|
+
|
|
59
|
+
```java
|
|
60
|
+
public void sendPasswordResetEmail(String email, String resetToken) {
|
|
61
|
+
String resetUrl = "https://example.com/reset-password?token=" + resetToken;
|
|
62
|
+
String htmlContent = String.format("""
|
|
63
|
+
<div style="padding: 20px;">
|
|
64
|
+
<h2>密码重置</h2>
|
|
65
|
+
<p><a href="%s" style="color: #1890ff;">点击重置密码</a></p>
|
|
66
|
+
<p>链接有效期30分钟。</p>
|
|
67
|
+
</div>
|
|
68
|
+
""", resetUrl);
|
|
69
|
+
|
|
70
|
+
MailUtils.sendHtml(email, "【若依系统】密码重置", htmlContent);
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### 报表邮件(带附件)
|
|
75
|
+
|
|
76
|
+
```java
|
|
77
|
+
public void sendReportEmail(String email, String reportName, File reportFile) {
|
|
78
|
+
String htmlContent = String.format("""
|
|
79
|
+
<div style="padding: 20px;">
|
|
80
|
+
<h2>%s</h2>
|
|
81
|
+
<p>请查看附件中的报表文件。</p>
|
|
82
|
+
<p>生成时间:%s</p>
|
|
83
|
+
</div>
|
|
84
|
+
""", reportName, DateUtils.getTime());
|
|
85
|
+
|
|
86
|
+
MailUtils.sendHtml(email, reportName, htmlContent, reportFile);
|
|
87
|
+
}
|
|
88
|
+
```
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# 短信完整配置参考
|
|
2
|
+
|
|
3
|
+
## 支持的服务商
|
|
4
|
+
|
|
5
|
+
| 服务商 | 配置标识 | 说明 |
|
|
6
|
+
|--------|---------|------|
|
|
7
|
+
| 阿里云 | `alibaba` | 阿里云短信服务 |
|
|
8
|
+
| 腾讯云 | `tencent` | 腾讯云短信(需 sdk-app-id) |
|
|
9
|
+
| 华为云 | `huawei` | 华为云短信 |
|
|
10
|
+
| 云片 | `yunpian` | 云片短信 |
|
|
11
|
+
| 合一 | `unisms` | 合一短信 |
|
|
12
|
+
| 京东云 | `jdcloud` | 京东云短信 |
|
|
13
|
+
| 容联云 | `cloopen` | 容联云通讯 |
|
|
14
|
+
| 亿美软通 | `emay` | 亿美短信 |
|
|
15
|
+
| 天翼云 | `ctyun` | 天翼云短信 |
|
|
16
|
+
|
|
17
|
+
## 完整配置示例
|
|
18
|
+
|
|
19
|
+
```yaml
|
|
20
|
+
sms:
|
|
21
|
+
config-type: yaml
|
|
22
|
+
# 短信拦截配置(可选)
|
|
23
|
+
restricted:
|
|
24
|
+
account-max: 0 # 是否开启账号维度每日上限
|
|
25
|
+
minute-max: 1 # 是否开启手机号维度每分钟上限
|
|
26
|
+
account-max-count: 10 # 单账号每日上限
|
|
27
|
+
minute-max-count: 1 # 单手机号每分钟上限
|
|
28
|
+
|
|
29
|
+
blends:
|
|
30
|
+
config1:
|
|
31
|
+
supplier: alibaba
|
|
32
|
+
access-key-id: ${ALIYUN_SMS_ACCESS_KEY_ID}
|
|
33
|
+
access-key-secret: ${ALIYUN_SMS_ACCESS_KEY_SECRET}
|
|
34
|
+
signature: 若依框架
|
|
35
|
+
|
|
36
|
+
config2:
|
|
37
|
+
supplier: tencent
|
|
38
|
+
access-key-id: ${TENCENT_SMS_SECRET_ID}
|
|
39
|
+
access-key-secret: ${TENCENT_SMS_SECRET_KEY}
|
|
40
|
+
signature: 若依框架
|
|
41
|
+
sdk-app-id: "1400000000"
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## 业务通知短信示例
|
|
45
|
+
|
|
46
|
+
```java
|
|
47
|
+
@Service
|
|
48
|
+
@RequiredArgsConstructor
|
|
49
|
+
public class OrderNotifyService {
|
|
50
|
+
|
|
51
|
+
public void notifyShipment(Order order) {
|
|
52
|
+
Map<String, String> params = new LinkedHashMap<>();
|
|
53
|
+
params.put("orderNo", order.getOrderNo());
|
|
54
|
+
params.put("expressNo", order.getExpressNo());
|
|
55
|
+
params.put("expressCompany", order.getExpressCompany());
|
|
56
|
+
|
|
57
|
+
SmsBlend smsBlend = SmsFactory.getSmsBlend("config1");
|
|
58
|
+
SmsResponse response = smsBlend.sendMessage(
|
|
59
|
+
order.getPhone(), "SMS_SHIPMENT_NOTIFY", params);
|
|
60
|
+
|
|
61
|
+
if (!response.isSuccess()) {
|
|
62
|
+
log.error("发货通知短信发送失败,订单号:{},错误:{}",
|
|
63
|
+
order.getOrderNo(), response.getMessage());
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
public void sendMarketingSms(List<String> phones, String content) {
|
|
68
|
+
Map<String, String> params = new LinkedHashMap<>();
|
|
69
|
+
params.put("content", content);
|
|
70
|
+
|
|
71
|
+
SmsFactory.getSmsBlend("config1").sendMessage(phones, "SMS_MARKETING", params);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
```
|