mianshiguan-youhuiquan.html.4f6c0599.js 34.7 KB
Newer Older
沉默王二's avatar
沉默王二 已提交
1
import{_ as t}from"./plugin-vue_export-helper.21dcd24c.js";import{r as d,o as r,c as s,a as e,b as a,e as l,d as i}from"./app.85cbe1c4.js";const c={},o=l(`<h2 id="_1-scenario-\u573A\u666F" tabindex="-1"><a class="header-anchor" href="#_1-scenario-\u573A\u666F" aria-hidden="true">#</a> 1 Scenario \u573A\u666F</h2><p>\u7535\u5546\u5927\u5382\u5E38\u89C1\u4FC3\u9500\u624B\u6BB5\uFF1A</p><ul><li>\u4F18\u60E0\u5238</li><li>\u62FC\u56E2</li><li>\u780D\u4EF7</li><li>\u8001\u5E26\u65B0</li></ul><h3 id="_1-1-\u4F18\u60E0\u5238\u7684\u79CD\u7C7B" tabindex="-1"><a class="header-anchor" href="#_1-1-\u4F18\u60E0\u5238\u7684\u79CD\u7C7B" aria-hidden="true">#</a> <strong>1.1 \u4F18\u60E0\u5238\u7684\u79CD\u7C7B</strong></h3><ul><li>\u6EE1\u51CF\u5238</li><li>\u76F4\u51CF\u5238</li><li>\u6298\u6263\u5238</li></ul><h3 id="_1-2-\u4F18\u60E0\u5238\u7CFB\u7EDF\u7684\u6838\u5FC3\u6D41\u7A0B" tabindex="-1"><a class="header-anchor" href="#_1-2-\u4F18\u60E0\u5238\u7CFB\u7EDF\u7684\u6838\u5FC3\u6D41\u7A0B" aria-hidden="true">#</a> <strong>1.2 \u4F18\u60E0\u5238\u7CFB\u7EDF\u7684\u6838\u5FC3\u6D41\u7A0B</strong></h3><h4 id="_1-2-1-\u53D1\u5238" tabindex="-1"><a class="header-anchor" href="#_1-2-1-\u53D1\u5238" aria-hidden="true">#</a> <strong>1.2.1 \u53D1\u5238</strong></h4><p>\u53D1\u5238\u7684\u65B9\u5F0F\uFF1A\u540C\u6B65\u53D1\u9001 or \u5F02\u6B65\u53D1\u9001</p><h4 id="_1-2-2-\u9886\u5238" tabindex="-1"><a class="header-anchor" href="#_1-2-2-\u9886\u5238" aria-hidden="true">#</a> <strong>1.2.2 \u9886\u5238</strong></h4><ul><li>\u8C01\u80FD\u9886\uFF1F</li></ul><p>\u6240\u6709\u7528\u6237 or \u6307\u5B9A\u7684\u7528\u6237</p><ul><li>\u9886\u53D6\u4E0A\u9650</li></ul><p>\u4E00\u4E2A\u4F18\u60E0\u5238\u6700\u591A\u80FD\u9886\u53D6\u591A\u5C11\u5F20\uFF1F</p><ul><li>\u9886\u53D6\u65B9\u5F0F</li></ul><p>\u7528\u6237\u4E3B\u52A8\u9886\u53D6 or \u81EA\u52A8\u53D1\u653E\u88AB\u52A8\u9886\u53D6</p><h4 id="_1-2-3-\u7528\u5238" tabindex="-1"><a class="header-anchor" href="#_1-2-3-\u7528\u5238" aria-hidden="true">#</a> <strong>1.2.3 \u7528\u5238</strong></h4><ul><li>\u4F5C\u7528\u8303\u56F4</li></ul><p>\u5546\u54C1\u3001\u5546\u6237\u3001\u7C7B\u76EE</p><ul><li>\u8BA1\u7B97\u65B9\u5F0F</li></ul><p>\u662F\u5426\u4E92\u65A5\u3001\u662F\u5426\u8FBE\u5230\u95E8\u69DB\u7B49</p><h3 id="_1-3-\u9700\u6C42\u62C6\u89E3" tabindex="-1"><a class="header-anchor" href="#_1-3-\u9700\u6C42\u62C6\u89E3" aria-hidden="true">#</a> <strong>1.3 \u9700\u6C42\u62C6\u89E3</strong></h3><h4 id="_1-3-1-\u5546\u5BB6\u4FA7" tabindex="-1"><a class="header-anchor" href="#_1-3-1-\u5546\u5BB6\u4FA7" aria-hidden="true">#</a> <strong>1.3.1 \u5546\u5BB6\u4FA7</strong></h4><ul><li>\u521B\u5EFA\u4F18\u60E0\u5238</li><li>\u53D1\u9001\u4F18\u60E0\u5238</li></ul><h4 id="_1-3-2-\u7528\u6237\u4FA7" tabindex="-1"><a class="header-anchor" href="#_1-3-2-\u7528\u6237\u4FA7" aria-hidden="true">#</a> <strong>1.3.2 \u7528\u6237\u4FA7</strong></h4><ul><li>\u9886\u53D6\u4F18\u60E0\u5238</li><li>\u4E0B\u5355</li><li>\u4F7F\u7528\u4F18\u60E0\u5238</li><li>\u652F\u4ED8</li></ul><h2 id="_2-service-\u670D\u52A1" tabindex="-1"><a class="header-anchor" href="#_2-service-\u670D\u52A1" aria-hidden="true">#</a> <strong>2 Service \u670D\u52A1</strong></h2><h3 id="_2-1-\u670D\u52A1\u7ED3\u6784\u8BBE\u8BA1" tabindex="-1"><a class="header-anchor" href="#_2-1-\u670D\u52A1\u7ED3\u6784\u8BBE\u8BA1" aria-hidden="true">#</a> <strong>2.1 \u670D\u52A1\u7ED3\u6784\u8BBE\u8BA1</strong></h3><p><img src="http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/nice-article/weixin-daadyhqjtsrhsjd-cdf44a4a-f648-49f0-bebe-686c4a66d2fd.jpg" alt=""></p><h3 id="_2-2-\u4F18\u60E0\u5238\u7CFB\u7EDF\u8BBE\u8BA1\u6280\u672F\u96BE\u70B9" tabindex="-1"><a class="header-anchor" href="#_2-2-\u4F18\u60E0\u5238\u7CFB\u7EDF\u8BBE\u8BA1\u6280\u672F\u96BE\u70B9" aria-hidden="true">#</a> <strong>2.2 \u4F18\u60E0\u5238\u7CFB\u7EDF\u8BBE\u8BA1\u6280\u672F\u96BE\u70B9</strong></h3><ul><li>\u5238\u7684\u5206\u5E03\u5F0F\u4E8B\u52A1\uFF0C\u4F7F\u7528\u5238\u7684\u8FC7\u7A0B\u4F1A\u51FA\u73B0\u7684\u5206\u5E03\u5F0F\u95EE\u9898\u5206\u6790?</li><li>\u5982\u4F55\u9632\u6B62\u8D85\u53D1?</li><li>\u5982\u4F55\u5927\u6279\u91CF\u7ED9\u7528\u6237\u53D1\u5238?</li><li>\u5982\u4F55\u9650\u5236\u5238\u7684\u4F7F\u7528\u6761\u4EF6?</li><li>\u5982\u4F55\u9632\u6B62\u7528\u6237\u91CD\u590D\u9886\u5238?</li></ul><h2 id="_3-storage\u5B58\u50A8" tabindex="-1"><a class="header-anchor" href="#_3-storage\u5B58\u50A8" aria-hidden="true">#</a> 3 Storage\u5B58\u50A8</h2><h3 id="_3-1-\u8868\u5355\u8BBE\u8BA1" tabindex="-1"><a class="header-anchor" href="#_3-1-\u8868\u5355\u8BBE\u8BA1" aria-hidden="true">#</a> <strong>3.1 \u8868\u5355\u8BBE\u8BA1</strong></h3><h4 id="\u5238\u6279\u6B21-\u5238\u6A21\u677F-coupon-batch" tabindex="-1"><a class="header-anchor" href="#\u5238\u6279\u6B21-\u5238\u6A21\u677F-coupon-batch" aria-hidden="true">#</a> <strong>\u5238\u6279\u6B21\uFF08\u5238\u6A21\u677F\uFF09\uFF0Ccoupon_batch</strong></h4><p>\u6307\u4E00\u6279\u4F18\u60E0\u5238\u7684\u62BD\u8C61\u3001\u6A21\u677F\uFF0C\u5305\u542B\u4F18\u60E0\u5238\u7684\u5927\u90E8\u5206\u5C5E\u6027\u3002</p><p>\u5982\u5546\u5BB6\u521B\u5EFA\u4E86\u4E00\u6279\u4F18\u60E0\u5238\uFF0C\u51711000\u5F20\uFF0C\u4F7F\u7528\u65F6\u95F4\u4E3A2022-11-11 00:00:00 ~ 2022-11-11 23:59:59\uFF0C\u89C4\u5B9A\u53EA\u6709\u6570\u7801\u7C7B\u76EE\u5546\u54C1\u624D\u80FD\u4F7F\u7528\uFF0C\u6EE1100\u51CF50\u3002</p><h4 id="\u5238" tabindex="-1"><a class="header-anchor" href="#\u5238" aria-hidden="true">#</a> <strong>\u5238</strong></h4><p>\u53D1\u653E\u5230\u7528\u6237\u7684\u4E00\u4E2A\u5B9E\u4F53\uFF0C\u5DF2\u4E0E\u7528\u6237\u7ED1\u5B9A\u3002</p><p>\u5982\u5C06\u67D0\u6279\u6B21\u7684\u4F18\u60E0\u5238\u4E2D\u7684\u4E00\u5F20\u53D1\u9001\u7ED9\u67D0\u4E2A\u7528\u6237\uFF0C\u6B64\u65F6\u4F18\u60E0\u5238\u5C5E\u4E8E\u7528\u6237\u3002</p><h4 id="\u89C4\u5219" tabindex="-1"><a class="header-anchor" href="#\u89C4\u5219" aria-hidden="true">#</a> <strong>\u89C4\u5219</strong></h4><p>\u4F18\u60E0\u5238\u7684\u4F7F\u7528\u6709\u89C4\u5219\u548C\u6761\u4EF6\u9650\u5236\uFF0C\u6BD4\u5982\u6EE1100\u51CF50\u5238\uFF0C\u9700\u8981\u8FBE\u5230\u95E8\u69DB\u91D1\u989D100\u5143\u624D\u80FD\u4F7F\u7528\u3002</p><p><img src="http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/nice-article/weixin-daadyhqjtsrhsjd-638df6ed-12f8-4a20-8c58-89051bc9376a.jpg" alt=""></p><p><strong>\u5238\u6279\u6B21\u8868 coupon_batch</strong></p><p><img src="http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/nice-article/weixin-daadyhqjtsrhsjd-c4d8f639-328b-42b9-94b0-5e15b8eee784.jpg" alt=""></p><p><strong>\u89C4\u5219\u8868 rule\uFF1A</strong></p><p><img src="http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/nice-article/weixin-daadyhqjtsrhsjd-b2383938-ffbc-4686-808c-908ab11e4b2b.jpg" alt=""></p><p><strong>\u89C4\u5219\u5185\u5BB9\uFF1A</strong></p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>{ 
沉默王二's avatar
沉默王二 已提交
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
  threshold: 5.01 // \u4F7F\u7528\u95E8\u69DB 
  amount: 5 // \u4F18\u60E0\u91D1\u989D 
  use_range: 3 // \u4F7F\u7528\u8303\u56F4\uFF0C0\u2014\u5168\u573A\uFF0C1\u2014\u5546\u5BB6\uFF0C2\u2014\u7C7B\u522B\uFF0C3\u2014\u5546\u54C1 
  commodity_id: 10 // \u5546\u54C1 id 
  receive_count: 1 // \u6BCF\u4E2A\u7528\u6237\u53EF\u4EE5\u9886\u53D6\u7684\u6570\u91CF 
  is_mutex: true // \u662F\u5426\u4E92\u65A5\uFF0Ctrue \u8868\u793A\u4E92\u65A5\uFF0Cfalse \u8868\u793A\u4E0D\u4E92\u65A5 
  receive_started_at: 2020-11-1 00:08:00 // \u9886\u53D6\u5F00\u59CB\u65F6\u95F4 
  receive_ended_at: 2020-11-6 00:08:00 // \u9886\u53D6\u7ED3\u675F\u65F6\u95F4 
  use_started_at: 2020-11-1 00:00:00 // \u4F7F\u7528\u5F00\u59CB\u65F6\u95F4 
  use_ended_at: 2020-11-11 11:59:59 // \u4F7F\u7528\u7ED3\u675F\u65F6\u95F4 
}
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><strong>\u4F18\u60E0\u5238\u8868 coupon\uFF1A</strong></p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>
create table t_coupon
(
    coupon_id     int          null comment &#39;\u5238ID\uFF0C\u4E3B\u952E&#39;,
    user_id       int          null comment &#39;\u7528\u6237ID&#39;,
    batch_id      int          null comment &#39;\u6279\u6B21ID&#39;,
    status        int          null comment &#39;0-\u672A\u4F7F\u7528\u30011-\u5DF2\u4F7F\u7528\u30012-\u5DF2\u8FC7\u671F\u30013-\u51BB\u7ED3&#39;,
    order_id      varchar(255) null comment &#39;\u5BF9\u5E94\u8BA2\u5355ID&#39;,
    received_time datetime     null comment &#39;\u9886\u53D6\u65F6\u95F4&#39;,
    validat_time  datetime     null comment &#39;\u6709\u6548\u65E5\u671F&#39;,
    used_time     datetime     null comment &#39;\u4F7F\u7528\u65F6\u95F4&#39;
);
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_3-2-\u5EFA\u5238" tabindex="-1"><a class="header-anchor" href="#_3-2-\u5EFA\u5238" aria-hidden="true">#</a> <strong>3.2 \u5EFA\u5238</strong></h3><p><strong>1\u3001\u65B0\u5EFA\u89C4\u5219</strong></p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>INSERT INTO rule (name, type, rule_content) 
VALUES(\u201C\u6EE1\u51CF\u89C4\u5219\u201D, 0, &#39;{ 
                         threshold: 100 
                         amount: 10 
                         ...... 
                       }&#39;);
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><strong>2\u3001\u65B0\u5EFA\u4F18\u60E0\u5238\u6279\u6B21</strong></p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>INSERT INTO coupon\\_batch (coupon\\_name, rule\\_id, total\\_count ) 
VALUES(\u201C\u52B3\u65AF\u83B1\u65AF5\u5143\u4EE3\u91D1\u5238\u201D, 1010, 10000);
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_3-3-\u53D1\u5238" tabindex="-1"><a class="header-anchor" href="#_3-3-\u53D1\u5238" aria-hidden="true">#</a> <strong>3.3 \u53D1\u5238</strong></h3><p><img src="http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/nice-article/weixin-daadyhqjtsrhsjd-066459b1-1271-468e-9e45-c409b6298144.jpg" alt=""></p><p><img src="http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/nice-article/weixin-daadyhqjtsrhsjd-a448c453-8b50-4af8-a913-bda03a6c6f97.jpg" alt=""></p><h5 id="\u5982\u4F55\u7ED9\u5927\u91CF\u7528\u6237\u53D1\u5238" tabindex="-1"><a class="header-anchor" href="#\u5982\u4F55\u7ED9\u5927\u91CF\u7528\u6237\u53D1\u5238" aria-hidden="true">#</a> <strong>\u5982\u4F55\u7ED9\u5927\u91CF\u7528\u6237\u53D1\u5238\uFF1F</strong></h5><p>\u5F02\u6B65\u53D1\u9001\uFF01</p><h5 id="\u89E6\u8FBE\u7CFB\u7EDF" tabindex="-1"><a class="header-anchor" href="#\u89E6\u8FBE\u7CFB\u7EDF" aria-hidden="true">#</a> <strong>\u89E6\u8FBE\u7CFB\u7EDF</strong></h5><ul><li>\u77ED\u4FE1\u3001\u90AE\u4EF6</li></ul><p>\u53EF\u901A\u8FC7\u8C03\u7528\u7B2C\u4E09\u65B9\u63A5\u53E3\u7684\u65B9\u5F0F\u5B9E\u73B0</p><ul><li>\u7AD9\u5185\u4FE1</li></ul><p>\u901A\u8FC7\u6570\u636E\u5E93\u63D2\u5165\u8BB0\u5F55\u6765\u5B9E\u73B0</p><p><strong>\u4FE1\u606F\u8868 message</strong></p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>create table t_message
(
    id         int null comment &#39;\u4FE1\u606FID&#39;,
    send_id    int null comment &#39;\u53D1\u9001\u8005id&#39;,
    rec_id     int null comment &#39;\u63A5\u53D7\u8005id&#39;,
    content    vachar(255) comment &#39;\u7AD9\u5185\u4FE1\u5185\u5BB9&#39;,
    is_read    int null comment &#39;\u662F\u5426\u5DF2\u8BFB&#39;,
    send_time  datetime comment &#39;\u53D1\u9001\u65F6\u95F4&#39;
)
comment &#39;\u4FE1\u606F\u8868&#39;;
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>\u5148\u8003\u8651\u7528\u6237\u91CF\u5F88\u5C11\u7684\u60C5\u51B5\uFF0C\u5546\u5BB6\u8981\u7ED9\u6240\u6709\u4EBA\u53D1\u7AD9\u5185\u4FE1\uFF0C\u5219\u5148\u904D\u5386\u7528\u6237\u8868\uFF0C\u518D\u6309\u7167\u7528\u6237\u8868\u4E2D\u7684\u6240\u6709\u7528\u6237\u4F9D\u6B21\u5C06\u7AD9\u5185\u4FE1\u63D2\u5165\u5230 message \u8868\u4E2D\u3002\u8FD9\u6837\uFF0C\u5982\u679C\u6709100\u4E2A\u7528\u6237\uFF0C\u5219\u7FA4\u53D1\u4E00\u6761\u7AD9\u5185\u4FE1\u8981\u6267\u884C100\u4E2A\u63D2\u5165\u64CD\u4F5C\u3002</p><h4 id="\u7CFB\u7EDF\u7528\u6237\u6570\u589E\u52A0\u5230w\u7EA7" tabindex="-1"><a class="header-anchor" href="#\u7CFB\u7EDF\u7528\u6237\u6570\u589E\u52A0\u5230w\u7EA7" aria-hidden="true">#</a> <strong>\u7CFB\u7EDF\u7528\u6237\u6570\u589E\u52A0\u5230w\u7EA7</strong></h4><p>\u53D1\u4E00\u6761\u7AD9\u5185\u4FE1\uFF0C\u5C31\u5F97\u91CD\u590D\u63D2\u5165\u4E0A\u4E07\u6761\u6570\u636E\u3002\u800C\u4E14\u8FD9\u4E0A\u4E07\u6761\u6570\u636E\u7684 content \u4E00\u6837\uFF01\u5047\u8BBE\u4E00\u6761\u7AD9\u5185\u4FE1\u5360100K\uFF0C\u53D1\u4E00\u6B21\u7AD9\u5185\u4FE1\u5C31\u8981\u6D88\u8017\u5341\u51E0M\u3002\u5BF9\u6B64\uFF0C\u53EF\u5C06\u539F\u6765\u7684\u8868\u62C6\u6210\u4E24\u4E2A\u8868\uFF1A</p><p><strong>\u4FE1\u606F\u8868 message</strong></p><p><img src="http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/nice-article/weixin-daadyhqjtsrhsjd-19c6ce5d-8e83-4552-902d-5d28cd17a7be.jpg" alt=""></p><p><strong>\u4FE1\u606F\u5185\u5BB9\u8868 message_content</strong></p><p><img src="http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/nice-article/weixin-daadyhqjtsrhsjd-e04b414f-6b41-4882-8324-208715b52284.jpg" alt=""></p><h4 id="\u53D1\u4E00\u5C01\u7AD9\u5185\u4FE1\u7684\u6B65\u9AA4" tabindex="-1"><a class="header-anchor" href="#\u53D1\u4E00\u5C01\u7AD9\u5185\u4FE1\u7684\u6B65\u9AA4" aria-hidden="true">#</a> <strong>\u53D1\u4E00\u5C01\u7AD9\u5185\u4FE1\u7684\u6B65\u9AA4</strong></h4><ol><li>\u5F80 message_content \u63D2\u5165\u7AD9\u5185\u4FE1\u7684\u5185\u5BB9</li><li>\u5728 message \u8868\u4E2D\uFF0C\u7ED9\u6240\u6709\u7528\u6237\u63D2\u5165\u4E00\u6761\u8BB0\u5F55\uFF0C\u6807\u8BC6\u6709\u4E00\u5C01\u7AD9\u5185\u4FE1</li></ol><h4 id="\u5343w\u7EA7\u7528\u6237\u6570" tabindex="-1"><a class="header-anchor" href="#\u5343w\u7EA7\u7528\u6237\u6570" aria-hidden="true">#</a> <strong>\u5343w\u7EA7\u7528\u6237\u6570</strong></h4><p>\u8FD9\u5C31\u6709\u3010\u975E\u6D3B\u8DC3\u7528\u6237\u3011\u7684\u95EE\u9898\uFF0C\u5047\u8BBE\u6CE8\u518C\u7528\u6237\u4E00\u5343\u4E07\uFF0C\u6839\u636E\u4E8C\u516B\u539F\u5219\uFF0C\u5176\u4E2D\u6D3B\u8DC3\u7528\u6237\u536020%\u3002\u82E5\u91C7\u7528\u4E0A\u9762\u62C6\u6210\u4E24\u4E2A\u8868\u7684\u60C5\u51B5\uFF0C\u53D1\u4E00\u5C01\u201C\u7AD9\u5185\u4FE1\u201D\uFF0C\u5F97\u6267\u884C\u4E00\u5343\u4E07\u4E2A\u63D2\u5165\u64CD\u4F5C\u3002\u53EF\u80FD\u5269\u4E0B80%\u7528\u6237\u57FA\u672C\u90FD\u4E0D\u4F1A\u518D\u767B\u5F55\uFF0C\u5176\u5B9E\u53EA\u9700\u5BF9\u5176\u4E2D20%\u7528\u6237\u63D2\u5165\u6570\u636E\u3002</p><p><strong>\u4FE1\u606F\u8868 message\uFF1A</strong></p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>create table t_message
(
    id         int null comment &#39;\u4FE1\u606F ID&#39;,
    # send_id    int null comment &#39;\u53D1\u9001\u8005 id&#39;, \u53BB\u9664\u8BE5\u5B57\u6BB5
    rec_id     int null comment &#39;\u63A5\u53D7\u8005 id&#39;,
    message_id int null comment &#39;\u5916\u952E\uFF0C\u4FE1\u606F\u5185\u5BB9&#39;,
    is_read    int null comment &#39;\u662F\u5426\u5DF2\u8BFB&#39;
)
    comment &#39;\u4FE1\u606F\u8868&#39;;
create table t_message_content
(
    id        int          null comment &#39;\u4FE1\u606F\u5185\u5BB9id&#39;,
    send_id     int         null comment &#39;\u53D1\u9001\u8005id&#39;,
    content   varchar(255) null comment &#39;\u5185\u5BB9&#39;,
    send_time datetime     null comment &#39;\u53D1\u9001\u65F6\u95F4&#39;
);
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="\u7528\u6237\u4FA7\u64CD\u4F5C" tabindex="-1"><a class="header-anchor" href="#\u7528\u6237\u4FA7\u64CD\u4F5C" aria-hidden="true">#</a> <strong>\u7528\u6237\u4FA7\u64CD\u4F5C</strong></h4><p>\u767B\u5F55\u540E\uFF0C\u9996\u5148\u67E5\u8BE2 message_content \u4E2D\u7684\u90A3\u4E9B\u6CA1\u6709\u5728 message \u4E2D\u6709\u8BB0\u5F55\u7684\u6570\u636E\uFF0C\u8868\u793A\u662F\u672A\u8BFB\u7684\u7AD9\u5185\u4FE1\u3002\u5728\u67E5\u9605\u7AD9\u5185\u4FE1\u7684\u5185\u5BB9\u65F6\uFF0C\u518D\u5C06\u76F8\u5173\u7684\u8BB0\u5F55\u63D2\u5165 message\u3002</p><h4 id="\u7CFB\u7EDF\u4FA7\u64CD\u4F5C" tabindex="-1"><a class="header-anchor" href="#\u7CFB\u7EDF\u4FA7\u64CD\u4F5C" aria-hidden="true">#</a> <strong>\u7CFB\u7EDF\u4FA7\u64CD\u4F5C</strong></h4><p>\u53D1\u7AD9\u5185\u4FE1\u65F6\uFF1A</p><ul><li>\u53EA\u5728 message_content \u63D2\u5165\u7AD9\u5185\u4FE1\u7684\u4E3B\u4F53\u5185\u5BB9</li><li>message \u4E0D\u63D2\u5165\u8BB0\u5F55</li></ul><h4 id="\u7ED9-10w-\u7528\u6237\u53D1\u5238" tabindex="-1"><a class="header-anchor" href="#\u7ED9-10w-\u7528\u6237\u53D1\u5238" aria-hidden="true">#</a> <strong>\u7ED9 10W \u7528\u6237\u53D1\u5238</strong></h4><p><img src="http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/nice-article/weixin-daadyhqjtsrhsjd-e6134270-a52f-4579-a200-e0c0e4c13c82.jpg" alt=""></p><p>\u6709\u4EC0\u4E48\u95EE\u9898\uFF1F\u91CD\u590D\u6D88\u8D39\uFF0C\u5BFC\u81F4\u8D85\u53D1\uFF01</p><ol><li>\u8FD0\u8425\u63D0\u4F9B\u6EE1\u8DB3\u6761\u4EF6\u7684\u7528\u6237\u6587\u4EF6\uFF0C\u4E0A\u4F20\u5230\u53D1\u5238\u7BA1\u7406\u540E\u53F0\u5E76\u9009\u62E9\u8981\u53D1\u9001\u7684\u4F18\u60E0\u5238</li><li>\u7BA1\u7406\u670D\u52A1\u5668\u6839\u636E\u3010\u7528\u6237ID\u3011\u3001\u3010\u5238\u6279\u6B21ID\u3011\u751F\u6210\u6D88\u606F\uFF0C\u53D1\u9001\u5230MQ</li><li>\u4F18\u60E0\u5238\u670D\u52A1\u5668\u6D88\u8D39\u6D88\u606F</li></ol><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code># \u8BB0\u4F4F\u4F7F\u7528\u4E8B\u52A1\u54E6\uFF01
INSERT INTO coupon (user_id, coupon_id\uFF0Cbatch_id)
  VALUES(1001, 66889, 1111);

UPDATE coupon_batch SET total_count = total_count - 1,
                          assign_count = assign_count + 1
                      WHERE batch_id = 1111 AND total_count &gt; 0;
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_3-4-\u9886\u5238" tabindex="-1"><a class="header-anchor" href="#_3-4-\u9886\u5238" aria-hidden="true">#</a> <strong>3.4 \u9886\u5238</strong></h3><h4 id="\u6B65\u9AA4" tabindex="-1"><a class="header-anchor" href="#\u6B65\u9AA4" aria-hidden="true">#</a> \u6B65\u9AA4</h4><ol><li>\u6821\u9A8C\u4F18\u60E0\u5238\u4F59\u91CF</li></ol><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>SELECT total_count FROM coupon_batch
WHERE batch_id = 1111;
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><ol start="2"><li>\u65B0\u589E\u4F18\u60E0\u5238\u7528\u6237\u8868\uFF0C\u6263\u51CF\u4F59\u91CF</li></ol><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code># \u6CE8\u610F\u4E8B\u52A1\uFF01
INSERT INTO coupon (user_id, coupon_id\uFF0Cbatch_id)
  VALUES(1001, 66889, 1111); 

UPDATE coupon_batch SET total_count = total_count - 1,
                          assign_count = assign_count + 1
                      WHERE batch_id = 1111 AND total_count &gt; 0;
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>\u7528\u6237\u9886\u5238\u8FC7\u7A0B\u4E2D\uFF0C\u5176\u5B9E\u4E5F\u4F1A\u51FA\u73B0\u7C7B\u4F3C\u79D2\u6740\u573A\u666F\u3002\u79D2\u6740\u573A\u666F\u4E0B\u4F1A\u6709\u54EA\u4E9B\u95EE\u9898\uFF0C\u5982\u4F55\u89E3\u51B3\uFF1F</p><p><img src="http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/nice-article/weixin-daadyhqjtsrhsjd-8367d61b-2a12-4225-9fc2-586a1baac77d.jpg" alt=""></p><h4 id="\u7528\u6237\u91CD\u590D\u9886\u53D6\u6216\u591A\u9886" tabindex="-1"><a class="header-anchor" href="#\u7528\u6237\u91CD\u590D\u9886\u53D6\u6216\u591A\u9886" aria-hidden="true">#</a> <strong>\u7528\u6237\u91CD\u590D\u9886\u53D6\u6216\u591A\u9886</strong></h4><p>Redis \u6570\u636E\u6821\u9A8C\uFF01</p><ol><li>\u9886\u5238\u524D\uFF0C\u5148\u67E5\u7F13\u5B58</li></ol><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code># \u5224\u65AD\u6210\u5458\u5143\u7D20\u662F\u5426\u662F\u96C6\u5408\u7684\u6210\u5458
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>SISMEMBER KEY VALUE
SISMEMBER batch_id:1111:user_id 1001
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><ol start="2"><li>\u9886\u5238</li><li>\u9886\u5238\u540E\uFF0C\u66F4\u65B0\u7F13\u5B58</li></ol><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code># \u5C06\u4E00\u6216\u591A\u4E2A\u6210\u5458\u5143\u7D20\u52A0\u5165\u5230\u96C6\u5408\u4E2D\uFF0C\u5DF2\u7ECF\u5B58\u5728\u4E8E\u96C6\u5408\u7684\u6210\u5458\u5143\u7D20\u5C06\u88AB\u5FFD\u7565
SADD KEY VALUE1......VALUEN
SADD batch_id:1111:user_id 1001
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="_3-5-\u7528\u5238" tabindex="-1"><a class="header-anchor" href="#_3-5-\u7528\u5238" aria-hidden="true">#</a> <strong>3.5 \u7528\u5238</strong></h2><p>\u4F55\u65F6\u6821\u9A8C\u4F18\u60E0\u5238\u4F7F\u7528\u89C4\u5219\uFF1F</p><ol><li>\u786E\u8BA4\u8BA2\u5355\uFF08\u221A\uFF09</li><li>\u63D0\u4EA4\u8BA2\u5355</li><li>\u7ACB\u5373\u4ED8\u6B3E</li></ol><p>\u786E\u8BA4\u8BA2\u5355\u9875\uFF0C\u5BF9\u4F18\u60E0\u5238\u8FDB\u884C\u6821\u9A8C\uFF1A</p><ul><li>\u5224\u65AD\u662F\u5426\u8FC7\u671F</li><li>\u5224\u65AD\u9002\u7528\u8303\u56F4</li><li>\u5224\u65AD\u662F\u5426\u8FBE\u5230\u95E8\u69DB</li><li>\u5224\u65AD\u662F\u5426\u4E92\u65A5</li></ul><h3 id="\u8FD4\u56DE\u53EF\u7528\u5238" tabindex="-1"><a class="header-anchor" href="#\u8FD4\u56DE\u53EF\u7528\u5238" aria-hidden="true">#</a> <strong>\u8FD4\u56DE\u53EF\u7528\u5238</strong></h3><p><img src="http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/nice-article/weixin-daadyhqjtsrhsjd-182ea6b8-4702-4f01-b3dd-f9636815863f.jpg" alt=""></p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>SELECT batch_id FROM coupon WHERE user_id = 1001 AND status = 0;
SELECT rule_id FROM coupon_batch WHERE batch_id = 1111;
SELECT name, type, rule_content FROM rule WHERE rule_id = 1010;
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="\u9009\u62E9\u53EF\u7528\u5238-\u5E76\u8FD4\u56DE\u7ED3\u679C" tabindex="-1"><a class="header-anchor" href="#\u9009\u62E9\u53EF\u7528\u5238-\u5E76\u8FD4\u56DE\u7ED3\u679C" aria-hidden="true">#</a> \u9009\u62E9\u53EF\u7528\u5238\uFF0C\u5E76\u8FD4\u56DE\u7ED3\u679C</h3><p><img src="http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/nice-article/weixin-daadyhqjtsrhsjd-3d50a63e-2c1a-413b-9143-f808dcc4e0da.jpg" alt=""></p><h3 id="\u540C\u65F6\u64CD\u4F5C\u591A\u4E2A\u670D\u52A1-\u5982\u4F55\u4FDD\u8BC1\u4E00\u81F4\u6027" tabindex="-1"><a class="header-anchor" href="#\u540C\u65F6\u64CD\u4F5C\u591A\u4E2A\u670D\u52A1-\u5982\u4F55\u4FDD\u8BC1\u4E00\u81F4\u6027" aria-hidden="true">#</a> <strong>\u540C\u65F6\u64CD\u4F5C\u591A\u4E2A\u670D\u52A1\uFF0C\u5982\u4F55\u4FDD\u8BC1\u4E00\u81F4\u6027\uFF1F</strong></h3><p><img src="http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/nice-article/weixin-daadyhqjtsrhsjd-3b30f2df-fd77-4265-b655-31a82028505e.jpg" alt=""></p><h3 id="\u8868\u8BBE\u8BA1" tabindex="-1"><a class="header-anchor" href="#\u8868\u8BBE\u8BA1" aria-hidden="true">#</a> <strong>\u8868\u8BBE\u8BA1</strong></h3><p><strong>\u4F18\u60E0\u5238\u64CD\u4F5C\u8BB0\u5F55\u8868 Coupon_opt_record</strong></p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>create table t_coupon_opt_record
(
    user_id     int      null comment &#39;\u7528\u6237id&#39;,
    coupon_id   int      null comment &#39;\u4F18\u60E0\u5238id&#39;,
    operating   int      null comment &#39;\u64CD\u4F5C\uFF0C0-\u9501\u5B9A\u30011-\u6838\u9500\u30012-\u89E3\u9501&#39;,
    operated_at datetime null comment &#39;\u64CD\u4F5C\u65F6\u95F4&#39;
);
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>TCC\uFF0CTry-Confirm-Cancel\uFF0C\u76EE\u524D\u5206\u5E03\u5F0F\u4E8B\u52A1\u4E3B\u6D41\u89E3\u51B3\u65B9\u6848\u3002</p><ol><li>\u9636\u6BB5\u4E00\uFF1ATry</li></ol><p>\u5BF9\u8D44\u6E90\u8FDB\u884C\u51BB\u7ED3\uFF0C\u9884\u7559\u4E1A\u52A1\u8D44\u6E90</p><p>\u521B\u5EFA\u8BA2\u5355\u65F6\uFF0C\u5C06\u4F18\u60E0\u5238\u72B6\u6001\u6539\u4E3A \u201C\u51BB\u7ED3\u201D</p><ol start="2"><li>\u9636\u6BB5\u4E8C\uFF1AConfirm</li></ol><p>\u786E\u8BA4\u6267\u884C\u4E1A\u52A1\u64CD\u4F5C\uFF0C\u505A\u771F\u6B63\u63D0\u4EA4\uFF0C\u5C06\u7B2C\u4E00\u6B65Try\u4E2D\u51BB\u7ED3\u7684\u8D44\u6E90\uFF0C\u771F\u6B63\u6263\u51CF</p><p>\u8BA2\u5355\u652F\u4ED8\u6210\u529F\uFF0C\u5C06\u4F18\u60E0\u5238\u72B6\u6001\u6539\u4E3A \u201C\u5DF2\u4F7F\u7528\u201D</p><ol start="3"><li>\u9636\u6BB5\u4E09\uFF1ACancel</li></ol><p>\u53D6\u6D88\u6267\u884C\u4E1A\u52A1\u64CD\u4F5C\uFF0C\u53D6\u6D88Try\u9636\u6BB5\u9884\u7559\u7684\u4E1A\u52A1\u8D44\u6E90</p><p>\u652F\u4ED8\u5931\u8D25/\u8D85\u65F6\u6216\u8BA2\u5355\u5173\u95ED\u60C5\u51B5\uFF0C\u5C06\u4F18\u60E0\u5238\u72B6\u6001\u6539\u4E3A \u201C\u672A\u4F7F\u7528\u201D</p><p><img src="http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/nice-article/weixin-daadyhqjtsrhsjd-c6a77fdf-4f4d-4082-92a7-c2cd11aba686.jpg" alt=""></p><h2 id="_4-scale-\u6269\u5C55" tabindex="-1"><a class="header-anchor" href="#_4-scale-\u6269\u5C55" aria-hidden="true">#</a> 4 Scale \u6269\u5C55</h2><h3 id="_4-1-\u5FEB\u8FC7\u671F\u5238\u63D0\u9192" tabindex="-1"><a class="header-anchor" href="#_4-1-\u5FEB\u8FC7\u671F\u5238\u63D0\u9192" aria-hidden="true">#</a> <strong>4.1 \u5FEB\u8FC7\u671F\u5238\u63D0\u9192</strong></h3><h4 id="\u5B9A\u65F6\u626B\u5238\u8868" tabindex="-1"><a class="header-anchor" href="#\u5B9A\u65F6\u626B\u5238\u8868" aria-hidden="true">#</a> <strong>\u5B9A\u65F6\u626B\u5238\u8868</strong></h4><p>\u7F3A\u70B9\uFF1A\u626B\u63CF\u6570\u636E\u91CF\u592A\u5927\uFF0C\u968F\u7740\u5386\u53F2\u6570\u636E\u8D8A\u6765\u8D8A\u591A\uFF0C\u4F1A\u5F71\u54CD\u7EBF\u4E0A\u4E3B\u4E1A\u52A1\uFF0C\u6700\u7EC8\u5BFC\u81F4\u6162SQL\u3002</p><h4 id="\u5EF6\u65F6\u6D88\u606F" tabindex="-1"><a class="header-anchor" href="#\u5EF6\u65F6\u6D88\u606F" aria-hidden="true">#</a> <strong>\u5EF6\u65F6\u6D88\u606F</strong></h4><p>\u7F3A\u70B9\uFF1A\u6709\u4E9B\u5238\u7684\u6709\u6548\u65F6\u95F4\u592A\u957F\u4E86(30\u5929)\u4EE5\u4E0A\uFF0C\u6709\u53EF\u80FD\u9020\u6210\u5927\u91CF MQ \u79EF\u538B</p><h4 id="\u65B0\u589E\u901A\u77E5\u8868" tabindex="-1"><a class="header-anchor" href="#\u65B0\u589E\u901A\u77E5\u8868" aria-hidden="true">#</a> <strong>\u65B0\u589E\u901A\u77E5\u8868</strong></h4><p>\u4F18\u70B9\uFF1A\u626B\u63CF\u7684\u6570\u636E\u91CF\u5C0F\uFF0C\u6548\u7387\u9AD8\u3002\u5220\u9664\u65E0\u7528\u7684\u5DF2\u901A\u77E5\u7684\u6570\u636E\u8BB0\u5F55</p><h5 id="\u901A\u77E5\u4FE1\u606F\u8868-notify-msg-\u8BBE\u8BA1" tabindex="-1"><a class="header-anchor" href="#\u901A\u77E5\u4FE1\u606F\u8868-notify-msg-\u8BBE\u8BA1" aria-hidden="true">#</a> <strong>\u901A\u77E5\u4FE1\u606F\u8868\uFF08notify_msg\uFF09\u8BBE\u8BA1</strong></h5><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>create table t_notify_msg
(
    id          bigint auto_increment comment &#39;\u81EA\u589E\u4E3B\u952E&#39;,
    coupon_id   bigint       null comment &#39;\u5238id&#39;,
    user_id     bigint       null comment &#39;\u7528\u6237id&#39;,
    notify_day  varchar(255) null comment &#39;\u9700\u8981\u6267\u884C\u901A\u77E5\u7684\u65E5\u671F&#39;,
    notify_type int          null comment &#39;\u901A\u77E5\u7C7B\u578B\uFF0C1-\u8FC7\u671F\u63D0\u9192&#39;,
    notif_time  timestamp    null comment &#39;\u901A\u77E5\u7684\u65F6\u95F4\uFF0C\u5728\u8BE5\u65F6\u95F4\u6233\u6240\u5728\u5929\u5185\u901A\u77E5&#39;,
    status      int          null comment &#39;\u901A\u77E5\u72B6\u6001\uFF0C0-\u521D\u59CB\u72B6\u6001\u30011-\u6210\u529F\u30012-\u5931\u8D25&#39;,
    constraint t_notify_msg_id_uindex
        unique (id)
);

alter table t_notify_msg
    add primary key (id);
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><strong>\u8FC7\u671F\u5238\u63D0</strong></p><ol><li>\u5728\u521B\u5EFA\u4F18\u60E0\u5238\u7684\u65F6\u5019\u5C31\u5C06\u9700\u8981\u63D0\u9192\u7684\u8BB0\u5F55\u63D2\u5165\u63D0\u9192\u8868\u4E2Dnotify_msg</li><li>\u628A\u7528\u6237ID+\u6279\u6B21ID+\u901A\u77E5\u65E5\u671F\u4F5C\u4E3A\u552F\u4E00\u7D22\u5F15\uFF0C\u9632\u6B62\u540C\u4E00\u4E2A\u6279\u6B21\u6709\u91CD\u590D\u7684\u8BB0\u5F55\u901A\u77E5\uFF0C\u4FDD\u8BC1\u6BCF\u5929\u53EA\u4F1A\u88AB\u901A\u77E5\u4E00\u6B21</li><li>\u5EFA\u7ACBnotify_time\uFF0C\u901A\u77E5\u65F6\u95F4\u7D22\u5F15\uFF0C\u6BCF\u65E5\u7684\u901A\u77E5\u626B\u63CF\u901A\u8FC7\u8BE5\u7D22\u5F15\u5217\u67E5\u8BE2\uFF0C\u901A\u8FC7\u7D22\u5F15\u5217\u6765\u63D0\u9AD8\u67E5\u8BE2\u6548\u7387</li><li>\u901A\u77E5\u5B8C\u6210\u540E\u8BE5\u8868\u4E2D\u7684\u6570\u636E\u53D8\u5931\u53BB\u4E86\u610F\u4E49\uFF0C\u901A\u8FC7\u5B9A\u65F6\u4EFB\u52A1\u5C06\u8BE5\u6570\u636E\u5220\u9664</li></ol><h3 id="_4-2-\u6570\u636E\u5E93\u5C42\u9762\u4F18\u5316-\u7D22\u5F15" tabindex="-1"><a class="header-anchor" href="#_4-2-\u6570\u636E\u5E93\u5C42\u9762\u4F18\u5316-\u7D22\u5F15" aria-hidden="true">#</a> <strong>4.2 \u6570\u636E\u5E93\u5C42\u9762\u4F18\u5316 - \u7D22\u5F15</strong></h3><p><img src="http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/nice-article/weixin-daadyhqjtsrhsjd-9e10c3cb-d0af-4b0e-a2f9-3da2fe7e72f1.jpg" alt=""></p><p><img src="http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/nice-article/weixin-daadyhqjtsrhsjd-8df5b954-9e5a-445d-882f-f91616fee662.jpg" alt=""></p><h3 id="_4-3-\u53D1\u5238\u63A5\u53E3-\u9650\u6D41\u4FDD\u62A4" tabindex="-1"><a class="header-anchor" href="#_4-3-\u53D1\u5238\u63A5\u53E3-\u9650\u6D41\u4FDD\u62A4" aria-hidden="true">#</a> <strong>4.3 \u53D1\u5238\u63A5\u53E3\uFF0C\u9650\u6D41\u4FDD\u62A4</strong></h3><h4 id="\u524D\u7AEF\u9650\u6D41" tabindex="-1"><a class="header-anchor" href="#\u524D\u7AEF\u9650\u6D41" aria-hidden="true">#</a> <strong>\u524D\u7AEF\u9650\u6D41</strong></h4><p>\u70B9\u51FB\u4E00\u6B21\u540E\uFF0C\u6309\u94AE\u77ED\u65F6\u95F4\u5185\u7F6E\u7070</p><p><img src="http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/nice-article/weixin-daadyhqjtsrhsjd-d2d8684d-9488-4543-9b2b-8e7559c8e625.jpg" alt=""></p><h4 id="\u540E\u7AEF\u9650\u6D41" tabindex="-1"><a class="header-anchor" href="#\u540E\u7AEF\u9650\u6D41" aria-hidden="true">#</a> <strong>\u540E\u7AEF\u9650\u6D41</strong></h4><p>\u90E8\u5206\u8BF7\u6C42\u76F4\u63A5\u8DF3\u8F6C\u5230\u3010\u7E41\u5FD9\u9875\u3011</p>`,151),h=i("\u53C2\u8003\u94FE\u63A5\uFF1A"),u={href:"https://mp.weixin.qq.com/s/r9lgiOwV5cw8XmfCBUTcUA",target:"_blank",rel:"noopener noreferrer"},m=i("https://mp.weixin.qq.com/s/r9lgiOwV5cw8XmfCBUTcUA"),v=i("\uFF0C\u51FA\u5904\uFF1AJavaEdge\uFF0C\u6574\u7406\uFF1A\u6C89\u9ED8\u738B\u4E8C"),b=e("hr",null,null,-1),g=i("\u6700\u8FD1\u6574\u7406\u4E86\u4E00\u4EFD\u725B\u903C\u7684\u5B66\u4E60\u8D44\u6599\uFF0C\u5305\u62EC\u4F46\u4E0D\u9650\u4E8EJava\u57FA\u7840\u90E8\u5206\uFF08JVM\u3001Java\u96C6\u5408\u6846\u67B6\u3001\u591A\u7EBF\u7A0B\uFF09\uFF0C\u8FD8\u56CA\u62EC\u4E86 "),p=e("strong",null,"\u6570\u636E\u5E93\u3001\u8BA1\u7B97\u673A\u7F51\u7EDC\u3001\u7B97\u6CD5\u4E0E\u6570\u636E\u7ED3\u6784\u3001\u8BBE\u8BA1\u6A21\u5F0F\u3001\u6846\u67B6\u7C7BSpring\u3001Netty\u3001\u5FAE\u670D\u52A1\uFF08Dubbo\uFF0C\u6D88\u606F\u961F\u5217\uFF09 \u7F51\u5173",-1),_=i(" \u7B49\u7B49\u7B49\u7B49\u2026\u2026\u8BE6\u60C5\u6233\uFF1A"),x={href:"https://tobebetterjavaer.com/pdf/programmer-111.html",target:"_blank",rel:"noopener noreferrer"},f=i("\u53EF\u4EE5\u8BF4\u662F2022\u5E74\u5168\u7F51\u6700\u5168\u7684\u5B66\u4E60\u548C\u627E\u5DE5\u4F5C\u7684PDF\u8D44\u6E90\u4E86"),j=e("p",null,[i("\u5173\u6CE8\u4E8C\u54E5\u7684\u539F\u521B\u516C\u4F17\u53F7 "),e("strong",null,"\u6C89\u9ED8\u738B\u4E8C"),i("\uFF0C\u56DE\u590D"),e("strong",null,"111"),i(" \u5373\u53EF\u514D\u8D39\u9886\u53D6\u3002")],-1),E=e("p",null,[e("img",{src:"http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xingbiaogongzhonghao.png",alt:""})],-1);function y(w,S){const n=d("ExternalLinkIcon");return r(),s("div",null,[o,e("blockquote",null,[e("p",null,[h,e("a",u,[m,a(n)]),v])]),b,e("p",null,[g,p,_,e("a",x,[f,a(n)])]),j,E])}var I=t(c,[["render",y],["__file","mianshiguan-youhuiquan.html.vue"]]);export{I as default};