<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>isno (isno)</title>
    <link>https://beta.w2solo.com/isno</link>
    <description/>
    <language>en-us</language>
    <item>
      <title>分享下我的独立开发日记 02</title>
      <description>&lt;p&gt;&lt;a href="https://www.v2ex.com/t/826537#reply10" rel="nofollow" target="_blank"&gt;https://www.v2ex.com/t/826537#reply10&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;首先抱歉，帖子我主要都发在 v2ex.&lt;/p&gt;

&lt;p&gt;项目简介: 以微商城 + 支付营销为主体的私域 saas 项目；&lt;/p&gt;

&lt;p&gt;项目网址: http:&lt;a href="http://www.f-space.cn:6060" rel="nofollow" target="_blank" title=""&gt;www.f-space.cn:6060&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;体验账户: 13764891668 (我的手机微信，可以加我交流)
密码: isno1026&lt;/p&gt;

&lt;p&gt;已经过去 5 天。&lt;/p&gt;

&lt;p&gt;在这 5 天中继续开发， 增加了 977 行代码量，删除了 467 行。&lt;/p&gt;

&lt;p&gt;这几天主要实现订单的功能，注重劳逸结合，减轻了不少工作量，看了看小说，大脑放松了不少。&lt;/p&gt;

&lt;p&gt;之前想的还是太简单了，以为一个订单能有多复杂，虽然之前也实现过，&lt;/p&gt;

&lt;p&gt;但考虑一个实现功能完善的订单，还真把我累得呕吐，产生心理不适。&lt;/p&gt;

&lt;p&gt;在这里，分享一下我对订单的产品设计：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;订单包裹的拆解&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;我设计了一个包裹的概念，对应一个快递，一个订单下可以由多个包裹，包裹可以合并或者拆分。&lt;/p&gt;

&lt;p&gt;考虑一个用户短时间内下了两个订单，作为卖家肯定要合在一起发货，或者一个订单内多种商品，也可以分拆来发
货，比如第一个商品用顺丰，其他商品用申通， 那么运费也要重新计算。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;订单包裹的费用&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;一个文件上海寄到杭州，和一个洗衣机寄到内蒙的费用肯定不同。包裹的快递费的计算要结合物品的体积、重量、件数（这个也影响了商品 SKU 的设计）。另外也要考虑不同地区的费用。如内蒙、内蒙不发货。这种逻辑不能让卖家写在商品说明里面就完事，要让用户下单的时候就自动解决这些问题。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;订单的活动加成&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;营销的活动包括免邮、满减、满折，营销的设计不能过于粗暴，比如 A 商品的利润比较高，我可以单独对 A 商品做营销活动，买 A 商品减 20 元，买其他商品不减。
另外营销的对象也要考虑， 比如首单用户、vip 用户
还有活动的生效时间段等&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;这些费用的计算不能是糊涂账，每一个优惠，每一笔费用都要单独记录，用户退款的时候，这些数据都有用&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;SKU 库存问题（老大难）&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;解决超卖的问题并不难，但要考虑这事一个 saas 产品，也许有的商家就允许超卖呢？
所以我在设计商品的时候，加了一个是否超卖的设计。&lt;/p&gt;

&lt;p&gt;允许超卖：不严格控制库存，库存可为负数。
不允许超卖： 设计库存扣除的阶段，加购物车减库存、订单支付减库存、&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;退单的问题&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;100 个订单，估计有 20% 的退单，退单包含 1. 部分商品退 2. 只退款不退货 3 只退货不退款
因为有各种活动，这时候退单的金额就比较复杂了，又因为退单对接的是 支付宝、腾讯的退单接口，这时候也要加一个手动控制，这种交易做成完全自动化的，风险很大。&lt;/p&gt;

&lt;p&gt;除了以上的大功能。
还考虑了 订单的追踪功能、订单的改价、订单的操作（如无货了，后天直接关闭订单，退款）&lt;/p&gt;

&lt;p&gt;再来个同样的收尾：&lt;/p&gt;

&lt;p&gt;本来预期半个月能收尾，看来还是乐观了，订单已经完成 70% 左右，争取年底前把订单完全做好。&lt;/p&gt;</description>
      <author>isno</author>
      <pubDate>Mon, 10 Jan 2022 15:00:44 +0800</pubDate>
      <link>https://beta.w2solo.com/topics/3057</link>
      <guid>https://beta.w2solo.com/topics/3057</guid>
    </item>
    <item>
      <title>虽然还没有完工， 但我还是迫不及待的想 “炫技” 下我的项目</title>
      <description>&lt;p&gt;前因贴: &lt;a href="https://www.v2ex.com/t/825525#reply0" rel="nofollow" target="_blank"&gt;https://www.v2ex.com/t/825525#reply0&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;项目简介: 
以微商城 + 支付营销为主体的私域 saas 项目；&lt;/p&gt;

&lt;p&gt;项目体验网址:  &lt;a href="http:www.f-space.cn:6060" title=""&gt;http:www.f-space.cn:6060&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;体验账户: 13764891668 (我的手机微信，可以加我项目技术交流)&lt;/p&gt;

&lt;p&gt;密码: isno1026&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;可得堆一下功能&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;概况:&lt;/strong&gt; 订单统计、流水统计&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;订单:&lt;/strong&gt; 包裹分拆、合并，改价、物流、搜索、线下店铺核销&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;商品&lt;/strong&gt; SKU 、分类、积分、品牌、运费模板&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;顾客&lt;/strong&gt; 顾客信息跟踪、会员等级、积分这块&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;门店&lt;/strong&gt; 线下分店管理、geo 经纬度位置、门店收银机接入&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;优惠券&lt;/strong&gt; 普通券、复用券、指定商品、指定会员、指定生效时间&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;活动&lt;/strong&gt; 满免邮、满赠券、满折、满减 指定会员、指定生效时间&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;系统&lt;/strong&gt; 管理员设置、支付设置、基本设置&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;物流&lt;/strong&gt;按体积、按重量、按地区不同价、调整价等&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;其他&lt;/strong&gt;  等等等等等等等等等等等等等等等等等等等等等等等等等等等等...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;项目的经历不说了，聊聊项目技术&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;技术语言及框架&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Python2.7 及 Tornado 5.1&lt;/p&gt;

&lt;p&gt;选型原因：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Python 对于创业型项目太友好了，开发速度快，简单，成熟的库太多了&lt;/li&gt;
&lt;li&gt;在很久以前，听闻豆瓣是阿北一个人，便对 Tornado 产生了兴趣，熟悉之后，开发太简单了，灵活，对项目的控制力很强&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;数据库 MongoDB + MongoEngine&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;选型原因：&lt;/p&gt;

&lt;p&gt;不输 NoSQL 的性能，又比 NoSQL 更多的类型支持
使用 MongoEngine 可以避免 文档型数据库松散的缺点，可以让我更好的定制业务模型，好用
文档型的数据库太好用了&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;搜索&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;ElasticSearch&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;没得说，搜索界的一哥&lt;/li&gt;
&lt;li&gt;配合 Elasticsearch_DSL 定义业务文档模型, 清晰明确简单&lt;/li&gt;
&lt;li&gt;配合 MongoEngine 的信号机制，监听 Document save update 事件，数据实时同步到 ElasticSearch&lt;/li&gt;
&lt;li&gt;好用的呱呱叫&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;分布式任务&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Celery + Redis&lt;/p&gt;

&lt;p&gt;用 Python 分布式任务系统可选的不多，但能选的都是精品， 用它做短信、订单处理、搜索更新、定时任务 效率也是呱呱叫&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;任务监控&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Supervisor&lt;/li&gt;
&lt;li&gt;Python 进程、Celery 任务、数据库、等等进程全给配上，没事登录后台看下任务情况，再看看异常 log ，有问题随时解决&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;后台 JS 部分&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;古老的技术 Angular 1.3（用的唯一理由：熟悉的早，那时候 vue 还没有）&lt;/li&gt;
&lt;li&gt;后面想用 vue ，业务改造成本已经老高了&lt;/li&gt;
&lt;li&gt;结合定义的各种 directives ，再写业务 controllers ，效率也不低。&lt;/li&gt;
&lt;li&gt;到后台看下 html 源码， 都是密密麻麻的 controllers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;小程序部分&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;电商类的项目，没得用，vant 用上&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;小程序后端&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;暂时用 python 写写，业务先跑起来，后面有量了，找机会改成 Golang ，这块的成本不高&lt;/p&gt;</description>
      <author>isno</author>
      <pubDate>Fri, 31 Dec 2021 17:21:30 +0800</pubDate>
      <link>https://beta.w2solo.com/topics/3039</link>
      <guid>https://beta.w2solo.com/topics/3039</guid>
    </item>
  </channel>
</rss>
